From c89b4a74d3d770da0ccdd679e5942b1e9028776b Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 24 二月 2025 13:35:21 +0800
Subject: [PATCH] 服务和供应品采购/供应商管理/设施和环境条件代码迁移
---
cnas-require/src/main/java/com/ruoyi/require/dto/ForeignRegisterDto.java | 32
cnas-require/src/main/java/com/ruoyi/require/dto/FeTempHumRecordDto.java | 27
cnas-require/src/main/java/com/ruoyi/require/mapper/FePowerStableMapper.java | 34
cnas-require/src/main/java/com/ruoyi/require/pojo/FeTempHumRecord.java | 67 +
cnas-require/src/main/java/com/ruoyi/require/service/FeLightningProtectionService.java | 21
cnas-require/src/main/java/com/ruoyi/require/mapper/ProcurementSuppliesListMapper.java | 30
cnas-require/src/main/java/com/ruoyi/require/pojo/FeIlluminationDetectionArea.java | 59
cnas-require/src/main/java/com/ruoyi/require/pojo/FeLightningProtection.java | 58
cnas-require/src/main/java/com/ruoyi/require/dto/FePowerStableAddDto.java | 15
cnas-require/src/main/java/com/ruoyi/require/service/FeTempHumRecordService.java | 20
cnas-require/src/main/java/com/ruoyi/require/pojo/ForeignRegister.java | 72 +
cnas-require/src/main/java/com/ruoyi/require/mapper/FeTempHumRecordMapper.java | 20
cnas-require/src/main/java/com/ruoyi/require/pojo/FeIllumination.java | 62
cnas-require/src/main/java/com/ruoyi/require/service/impl/FeIlluminationServiceImpl.java | 123 +
cnas-require/src/main/java/com/ruoyi/require/pojo/InternalWastesDetail.java | 66 +
cnas-require/src/main/java/com/ruoyi/require/service/FeIlluminationDetectionAreaService.java | 16
cnas-require/src/main/java/com/ruoyi/require/controller/ProcurementSuppliesListController.java | 93 +
cnas-require/src/main/resources/mapper/ProcurementSuppliesListMapper.xml | 71 +
cnas-require/src/main/java/com/ruoyi/require/service/impl/SupplierManagementServiceImpl.java | 91 +
cnas-require/src/main/java/com/ruoyi/require/dto/FeIlluminationDto.java | 21
cnas-require/src/main/java/com/ruoyi/require/service/FeIlluminationService.java | 29
cnas-require/src/main/java/com/ruoyi/require/mapper/FeMeasuredQuantityMapper.java | 16
cnas-require/src/main/java/com/ruoyi/require/service/FeMeasuredQuantityService.java | 16
cnas-require/src/main/java/com/ruoyi/require/service/SupplierManagementService.java | 32
cnas-require/src/main/java/com/ruoyi/require/service/impl/FeTempHumDateServiceImpl.java | 141 ++
cnas-require/src/main/java/com/ruoyi/require/dto/ProcurementSuppliesListDto.java | 15
cnas-require/src/main/java/com/ruoyi/require/mapper/InternalWastesDetailMapper.java | 16
cnas-require/src/main/java/com/ruoyi/require/dto/InternalWastesDto.java | 26
cnas-require/src/main/java/com/ruoyi/require/dto/SupplierManagementDto.java | 67 +
cnas-require/src/main/java/com/ruoyi/require/controller/FePowerStableController.java | 99 +
cnas-require/src/main/java/com/ruoyi/require/controller/ForeignRegisterController.java | 97 +
cnas-require/src/main/java/com/ruoyi/require/controller/FeIlluminationController.java | 88 +
cnas-require/src/main/java/com/ruoyi/require/mapper/ProcurementSuppliesContentsMapper.java | 9
cnas-require/src/main/java/com/ruoyi/require/pojo/InternalWastes.java | 44
cnas-require/src/main/java/com/ruoyi/require/service/impl/ForeignRegisterServiceImpl.java | 101 +
cnas-require/src/main/java/com/ruoyi/require/mapper/ForeignRegisterMapper.java | 39
cnas-require/src/main/java/com/ruoyi/require/dto/FePowerStableExportDto.java | 30
cnas-require/src/main/java/com/ruoyi/require/service/ForeignRegisterService.java | 34
cnas-require/src/main/java/com/ruoyi/require/controller/FeTempHumDateController.java | 103 +
cnas-require/src/main/java/com/ruoyi/require/controller/SupplierManagementController.java | 91 +
cnas-require/src/main/java/com/ruoyi/require/dto/FePowerStableDto.java | 22
cnas-require/src/main/java/com/ruoyi/require/controller/FeLightningProtectionController.java | 80 +
cnas-require/src/main/java/com/ruoyi/require/mapper/InternalWastesMapper.java | 31
cnas-require/src/main/java/com/ruoyi/require/dto/FeTempHumDateDto.java | 12
cnas-require/src/main/java/com/ruoyi/require/pojo/ProcurementSuppliesContents.java | 42
cnas-require/src/main/java/com/ruoyi/require/pojo/FeMeasuredQuantity.java | 54
cnas-require/src/main/java/com/ruoyi/require/pojo/SupplierManagement.java | 110 +
cnas-require/src/main/java/com/ruoyi/require/service/impl/InternalWastesServiceImpl.java | 170 ++
cnas-require/src/main/java/com/ruoyi/require/service/impl/FeTempHumRecordServiceImpl.java | 27
cnas-require/src/main/java/com/ruoyi/require/service/impl/ProcurementSuppliesContentsServiceImpl.java | 91 +
cnas-require/src/main/java/com/ruoyi/require/controller/InternalWastesController.java | 97 +
cnas-require/src/main/java/com/ruoyi/require/mapper/FeIlluminationDetectionAreaMapper.java | 16
cnas-require/src/main/java/com/ruoyi/require/service/impl/ProcurementSuppliesListServiceImpl.java | 130 ++
cnas-require/src/main/java/com/ruoyi/require/dto/FeIlluminationExportDto.java | 25
cnas-require/src/main/java/com/ruoyi/require/pojo/FePowerStable.java | 64
cnas-require/src/main/java/com/ruoyi/require/service/impl/InternalWastesDetailServiceImpl.java | 20
cnas-require/src/main/java/com/ruoyi/require/service/ProcurementSuppliesListService.java | 28
cnas-require/src/main/java/com/ruoyi/require/mapper/SupplierManagementMapper.java | 31
cnas-require/src/main/java/com/ruoyi/require/service/FeTempHumDateService.java | 30
cnas-require/src/main/java/com/ruoyi/require/mapper/FeTempHumDateMapper.java | 30
cnas-require/src/main/java/com/ruoyi/require/service/impl/FeIlluminationDetectionAreaServiceImpl.java | 20
cnas-require/src/main/java/com/ruoyi/require/service/InternalWastesService.java | 63
cnas-require/src/main/java/com/ruoyi/require/service/impl/FeMeasuredQuantityServiceImpl.java | 20
cnas-require/src/main/java/com/ruoyi/require/mapper/FeLightningProtectionMapper.java | 21
cnas-require/src/main/java/com/ruoyi/require/pojo/ProcurementSuppliesList.java | 101 +
cnas-require/src/main/resources/mapper/SupplierManagementMapper.xml | 81 +
cnas-require/src/main/java/com/ruoyi/require/service/impl/FePowerStableServiceImpl.java | 123 +
cnas-require/src/main/java/com/ruoyi/require/service/ProcurementSuppliesContentsService.java | 16
cnas-require/src/main/java/com/ruoyi/require/dto/FeIlluminationAddDto.java | 15
cnas-require/src/main/java/com/ruoyi/require/service/InternalWastesDetailService.java | 16
cnas-require/src/main/java/com/ruoyi/require/service/impl/FeLightningProtectionServiceImpl.java | 27
inspect-server/src/main/java/com/ruoyi/inspect/dto/ProcurementSuppliesListEDto.java | 54
cnas-require/src/main/java/com/ruoyi/require/mapper/FeIlluminationMapper.java | 28
cnas-require/src/main/java/com/ruoyi/require/pojo/FeTempHumDate.java | 56
cnas-require/src/main/java/com/ruoyi/require/service/FePowerStableService.java | 33
75 files changed, 3,875 insertions(+), 0 deletions(-)
diff --git a/cnas-require/src/main/java/com/ruoyi/require/controller/FeIlluminationController.java b/cnas-require/src/main/java/com/ruoyi/require/controller/FeIlluminationController.java
new file mode 100644
index 0000000..a96d5a4
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/controller/FeIlluminationController.java
@@ -0,0 +1,88 @@
+package com.ruoyi.require.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+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.require.dto.FeIlluminationAddDto;
+import com.ruoyi.require.dto.FeIlluminationDto;
+import com.ruoyi.require.pojo.FeIllumination;
+import com.ruoyi.require.pojo.FeIlluminationDetectionArea;
+import com.ruoyi.require.service.FeIlluminationDetectionAreaService;
+import com.ruoyi.require.service.FeIlluminationService;
+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")
+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);
+ if (CollectionUtils.isNotEmpty(feIlluminationAddDto.getIlluminationDetectionAreaList())) {
+ 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/require/controller/FeLightningProtectionController.java b/cnas-require/src/main/java/com/ruoyi/require/controller/FeLightningProtectionController.java
new file mode 100644
index 0000000..48c0369
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/controller/FeLightningProtectionController.java
@@ -0,0 +1,80 @@
+package com.ruoyi.require.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.require.excel.FeLightningProtectionExcel;
+import com.ruoyi.require.pojo.FeLightningProtection;
+import com.ruoyi.require.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/require/controller/FePowerStableController.java b/cnas-require/src/main/java/com/ruoyi/require/controller/FePowerStableController.java
new file mode 100644
index 0000000..215c48f
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/controller/FePowerStableController.java
@@ -0,0 +1,99 @@
+package com.ruoyi.require.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+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.require.dto.FePowerStableAddDto;
+import com.ruoyi.require.dto.FePowerStableDto;
+import com.ruoyi.require.pojo.FeMeasuredQuantity;
+import com.ruoyi.require.pojo.FePowerStable;
+import com.ruoyi.require.service.FeMeasuredQuantityService;
+import com.ruoyi.require.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);
+ if (CollectionUtils.isNotEmpty(fePowerStableAddDto.getFeMeasuredQuantityList())) {
+ 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/require/controller/FeTempHumDateController.java b/cnas-require/src/main/java/com/ruoyi/require/controller/FeTempHumDateController.java
new file mode 100644
index 0000000..008dbd5
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/controller/FeTempHumDateController.java
@@ -0,0 +1,103 @@
+package com.ruoyi.require.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.require.dto.FeTempHumDateDto;
+import com.ruoyi.require.dto.FeTempHumRecordDto;
+import com.ruoyi.require.pojo.FeTempHumDate;
+import com.ruoyi.require.pojo.FeTempHumRecord;
+import com.ruoyi.require.service.FeTempHumDateService;
+import com.ruoyi.require.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
+ */
+@Api(tags = "娓╂箍搴﹁褰�")
+@RestController
+@RequestMapping("/feTempHumDate")
+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, FeTempHumDateDto feTempHumDateDto) {
+ IPage<FeTempHumDateDto> page1 = feTempHumDateService.getFeTempHumDate(page, feTempHumDateDto);
+ 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);
+ }
+
+ /**
+ * 娓╂箍搴︾‘璁�
+ * @param feTempHumDate
+ * @return
+ */
+ @ApiOperation("娓╂箍搴︾‘璁�")
+ @PostMapping("affirmFeTempHumDate")
+ public Result<?> affirmFeTempHumDate(@RequestBody FeTempHumDate feTempHumDate) {
+ feTempHumDateService.affirmFeTempHumDate(feTempHumDate);
+ return Result.success();
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/controller/ForeignRegisterController.java b/cnas-require/src/main/java/com/ruoyi/require/controller/ForeignRegisterController.java
new file mode 100644
index 0000000..244e9fd
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/controller/ForeignRegisterController.java
@@ -0,0 +1,97 @@
+package com.ruoyi.require.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.JackSonUtil;
+import com.ruoyi.require.dto.ForeignRegisterDto;
+import com.ruoyi.require.pojo.ForeignRegister;
+import com.ruoyi.require.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;
+import java.util.Map;
+
+/**
+ * <p>
+ * 澶栨潵浜哄憳鐧昏 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-19 07:17:35
+ */
+@Api(tags = "澶栨潵浜哄憳鐧昏")
+@AllArgsConstructor
+@RestController
+@RequestMapping("/foreignRegister")
+public class ForeignRegisterController {
+
+ private ForeignRegisterService foreignRegisterService;
+
+ /**
+ * 澶栨潵浜哄憳鐧昏鍒嗛〉鏌ヨ
+ * @param data
+ * @return
+ */
+ @ApiOperation(value = "澶栨潵浜哄憳鐧昏鍒嗛〉鏌ヨ")
+ @PostMapping("/pageForeignRegister")
+ public Result<IPage<ForeignRegisterDto>> pageForeignRegister(@RequestBody Map<String, Object> data) throws Exception {
+ Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class);
+ ForeignRegisterDto foreignRegister = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), ForeignRegisterDto.class);
+ 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 = "澶栨潵浜哄憳鐧昏鍒犻櫎")
+ @GetMapping("/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 = "瀵煎嚭澶栨潵浜哄憳鐧昏")
+ @PostMapping("/exportForeignRegister")
+ public void exportForeignRegister(@RequestBody ForeignRegisterDto foreignRegister, HttpServletResponse response){
+ foreignRegisterService.exportForeignRegister(foreignRegister, response);
+ }
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/controller/InternalWastesController.java b/cnas-require/src/main/java/com/ruoyi/require/controller/InternalWastesController.java
new file mode 100644
index 0000000..e507069
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/controller/InternalWastesController.java
@@ -0,0 +1,97 @@
+package com.ruoyi.require.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.JackSonUtil;
+import com.ruoyi.require.dto.InternalWastesDto;
+import com.ruoyi.require.pojo.InternalWastes;
+import com.ruoyi.require.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;
+import java.util.Map;
+
+/**
+ * <p>
+ * 瀹夊叏鍐呭姟涓夊簾鐧昏 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-19 06:39:27
+ */
+@Api(tags = "瀹夊叏鍐呭姟涓夊簾鐧昏")
+@AllArgsConstructor
+@RestController
+@RequestMapping("/internalWastes")
+public class InternalWastesController {
+
+ private InternalWastesService internalWastesService;
+
+ /**
+ * 瀹夊叏鍐呭姟涓夊簾澶勭悊鍒嗛〉鏌ヨ
+ * @param data
+ * @return
+ */
+ @ApiOperation(value = "瀹夊叏鍐呭姟涓夊簾澶勭悊鍒嗛〉鏌ヨ")
+ @PostMapping("/pageInternalWastes")
+ public Result<IPage<InternalWastesDto>> pageInternalWastes(@RequestBody Map<String, Object> data) throws Exception {
+ Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class);
+ InternalWastes internalWastes = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), InternalWastes.class);
+ 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 = "瀹夊叏鍐呭姟涓夊簾澶勭悊鍒犻櫎")
+ @GetMapping("/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/require/controller/ProcurementSuppliesListController.java b/cnas-require/src/main/java/com/ruoyi/require/controller/ProcurementSuppliesListController.java
new file mode 100644
index 0000000..27b5729
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/controller/ProcurementSuppliesListController.java
@@ -0,0 +1,93 @@
+package com.ruoyi.require.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.require.dto.ProcurementSuppliesListDto;
+import com.ruoyi.require.mapper.ProcurementSuppliesListMapper;
+import com.ruoyi.require.mapper.SupplierManagementMapper;
+import com.ruoyi.require.pojo.ProcurementSuppliesList;
+import com.ruoyi.require.pojo.SupplierManagement;
+import com.ruoyi.require.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.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;
+
+ @Autowired
+ 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 = "鍒犻櫎鑰楁潗")
+ @PostMapping("/deleteProcurementSuppliesList")
+ public Result deleteProcurementSuppliesList(@RequestBody ProcurementSuppliesListDto dto) {
+ return Result.success(listMapper.deleteById(dto.getId()));
+ }
+
+ @ApiOperation(value = "瀵煎嚭鑰楁潗鍒楄〃")
+ @PostMapping("/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/require/controller/SupplierManagementController.java b/cnas-require/src/main/java/com/ruoyi/require/controller/SupplierManagementController.java
new file mode 100644
index 0000000..495dfbb
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/controller/SupplierManagementController.java
@@ -0,0 +1,91 @@
+package com.ruoyi.require.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.require.pojo.SupplierManagement;
+import com.ruoyi.require.service.ProcurementSuppliesContentsService;
+import com.ruoyi.require.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) {
+ 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("鍒犻櫎渚涘簲鍟�")
+ @PostMapping("/delSupplierManagement")
+ public Result delSupplierManagement(Integer supplierManagementId) {
+ return Result.success(supplierManagementService.removeById(supplierManagementId));
+ }
+
+ @ApiOperation("瀵煎嚭渚涘簲鍟�")
+ @PostMapping("/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/require/dto/FeIlluminationAddDto.java b/cnas-require/src/main/java/com/ruoyi/require/dto/FeIlluminationAddDto.java
new file mode 100644
index 0000000..0958d04
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/dto/FeIlluminationAddDto.java
@@ -0,0 +1,15 @@
+package com.ruoyi.require.dto;
+
+import com.ruoyi.require.pojo.FeIllumination;
+import com.ruoyi.require.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/require/dto/FeIlluminationDto.java b/cnas-require/src/main/java/com/ruoyi/require/dto/FeIlluminationDto.java
new file mode 100644
index 0000000..2ee004c
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/dto/FeIlluminationDto.java
@@ -0,0 +1,21 @@
+package com.ruoyi.require.dto;
+
+import com.ruoyi.require.pojo.FeIllumination;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class FeIlluminationDto extends FeIllumination {
+ @ApiModelProperty("妫�娴嬭��")
+ private String checkerUser;
+
+ @ApiModelProperty("鏍告煡浜�")
+ private String testerUser;
+
+ @ApiModelProperty("璁惧鍚嶇О")
+ private String deviceName;
+
+ @ApiModelProperty("璁惧缂栧彿")
+ private String managementNumber;
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/dto/FeIlluminationExportDto.java b/cnas-require/src/main/java/com/ruoyi/require/dto/FeIlluminationExportDto.java
new file mode 100644
index 0000000..62ce2ee
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/dto/FeIlluminationExportDto.java
@@ -0,0 +1,25 @@
+package com.ruoyi.require.dto;
+
+import com.ruoyi.require.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/require/dto/FePowerStableAddDto.java b/cnas-require/src/main/java/com/ruoyi/require/dto/FePowerStableAddDto.java
new file mode 100644
index 0000000..a6707ea
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/dto/FePowerStableAddDto.java
@@ -0,0 +1,15 @@
+package com.ruoyi.require.dto;
+
+import com.ruoyi.require.pojo.FeMeasuredQuantity;
+import com.ruoyi.require.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/require/dto/FePowerStableDto.java b/cnas-require/src/main/java/com/ruoyi/require/dto/FePowerStableDto.java
new file mode 100644
index 0000000..9711760
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/dto/FePowerStableDto.java
@@ -0,0 +1,22 @@
+package com.ruoyi.require.dto;
+
+import com.ruoyi.require.pojo.FePowerStable;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class FePowerStableDto extends FePowerStable {
+
+ @ApiModelProperty("妫�娴嬭��")
+ private String checkerUser;
+
+ @ApiModelProperty("鏍告煡浜�")
+ private String testerUser;
+
+ @ApiModelProperty("璁惧鍚嶇О")
+ private String deviceName;
+
+ @ApiModelProperty("璁惧缂栧彿")
+ private String managementNumber;
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/dto/FePowerStableExportDto.java b/cnas-require/src/main/java/com/ruoyi/require/dto/FePowerStableExportDto.java
new file mode 100644
index 0000000..52a0203
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/dto/FePowerStableExportDto.java
@@ -0,0 +1,30 @@
+package com.ruoyi.require.dto;
+
+import com.ruoyi.require.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/require/dto/FeTempHumDateDto.java b/cnas-require/src/main/java/com/ruoyi/require/dto/FeTempHumDateDto.java
new file mode 100644
index 0000000..0ba415c
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/dto/FeTempHumDateDto.java
@@ -0,0 +1,12 @@
+package com.ruoyi.require.dto;
+
+import com.ruoyi.require.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/require/dto/FeTempHumRecordDto.java b/cnas-require/src/main/java/com/ruoyi/require/dto/FeTempHumRecordDto.java
new file mode 100644
index 0000000..0791d8d
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/dto/FeTempHumRecordDto.java
@@ -0,0 +1,27 @@
+package com.ruoyi.require.dto;
+
+import com.ruoyi.require.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;
+
+ @ApiModelProperty("妫�娴嬪ぉ")
+ private Integer monthDay;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/dto/ForeignRegisterDto.java b/cnas-require/src/main/java/com/ruoyi/require/dto/ForeignRegisterDto.java
new file mode 100644
index 0000000..0fb9861
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/dto/ForeignRegisterDto.java
@@ -0,0 +1,32 @@
+package com.ruoyi.require.dto;
+
+import com.deepoove.poi.data.PictureRenderData;
+import com.ruoyi.require.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/require/dto/InternalWastesDto.java b/cnas-require/src/main/java/com/ruoyi/require/dto/InternalWastesDto.java
new file mode 100644
index 0000000..07aaec5
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/dto/InternalWastesDto.java
@@ -0,0 +1,26 @@
+package com.ruoyi.require.dto;
+
+import com.ruoyi.require.pojo.InternalWastes;
+import com.ruoyi.require.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;
+
+ @ApiModelProperty("鍒涘缓浜�")
+ private String createUserName;
+
+ @ApiModelProperty("淇敼浜�")
+ private String updateUserName;
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/dto/ProcurementSuppliesListDto.java b/cnas-require/src/main/java/com/ruoyi/require/dto/ProcurementSuppliesListDto.java
new file mode 100644
index 0000000..1e70361
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/dto/ProcurementSuppliesListDto.java
@@ -0,0 +1,15 @@
+package com.ruoyi.require.dto;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.ruoyi.require.pojo.ProcurementSuppliesList;
+import lombok.Data;
+
+@Data
+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/require/dto/SupplierManagementDto.java b/cnas-require/src/main/java/com/ruoyi/require/dto/SupplierManagementDto.java
new file mode 100644
index 0000000..fb0475a
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/dto/SupplierManagementDto.java
@@ -0,0 +1,67 @@
+package com.ruoyi.require.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/require/mapper/FeIlluminationDetectionAreaMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/FeIlluminationDetectionAreaMapper.java
new file mode 100644
index 0000000..8c03dbc
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/FeIlluminationDetectionAreaMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.require.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.require.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/require/mapper/FeIlluminationMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/FeIlluminationMapper.java
new file mode 100644
index 0000000..8e1dfa1
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/FeIlluminationMapper.java
@@ -0,0 +1,28 @@
+package com.ruoyi.require.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.require.dto.FeIlluminationDto;
+import com.ruoyi.require.dto.FeIlluminationExportDto;
+import com.ruoyi.require.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/require/mapper/FeLightningProtectionMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/FeLightningProtectionMapper.java
new file mode 100644
index 0000000..f32393a
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/FeLightningProtectionMapper.java
@@ -0,0 +1,21 @@
+package com.ruoyi.require.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.require.excel.FeLightningProtectionExcel;
+import com.ruoyi.require.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/require/mapper/FeMeasuredQuantityMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/FeMeasuredQuantityMapper.java
new file mode 100644
index 0000000..9b25b5e
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/FeMeasuredQuantityMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.require.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.require.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/require/mapper/FePowerStableMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/FePowerStableMapper.java
new file mode 100644
index 0000000..95ec45e
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/FePowerStableMapper.java
@@ -0,0 +1,34 @@
+package com.ruoyi.require.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.require.dto.FePowerStableDto;
+import com.ruoyi.require.dto.FePowerStableExportDto;
+import com.ruoyi.require.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/require/mapper/FeTempHumDateMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/FeTempHumDateMapper.java
new file mode 100644
index 0000000..74e7017
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/FeTempHumDateMapper.java
@@ -0,0 +1,30 @@
+package com.ruoyi.require.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.require.dto.FeTempHumDateDto;
+import com.ruoyi.require.pojo.FeTempHumDate;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-娓╂箍搴� 鍖哄煙 -鐖� Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-09 11:02:18
+ */
+public interface FeTempHumDateMapper extends BaseMapper<FeTempHumDate> {
+
+ IPage<FeTempHumDateDto> getFeTempHumDate(Page page, @Param("ew") QueryWrapper<FeTempHumDateDto> ew);
+
+ /**
+ * 鏌ヨ杩欎釜鏈堟槸鍚︽湁璇ュ疄楠屽鐨勪换鍔�
+ * @param laboratory 瀹為獙瀹�
+ * @param formattedDate 褰撳墠鏈堜唤
+ * @return 杩斿洖鏉℃暟
+ */
+ int selectFeTempHumDateIncludeFormattedDate(@Param("laboratory") String laboratory, @Param("formattedDate") String formattedDate);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/mapper/FeTempHumRecordMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/FeTempHumRecordMapper.java
new file mode 100644
index 0000000..8e0e9ab
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/FeTempHumRecordMapper.java
@@ -0,0 +1,20 @@
+package com.ruoyi.require.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.require.dto.FeTempHumRecordDto;
+import com.ruoyi.require.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/require/mapper/ForeignRegisterMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/ForeignRegisterMapper.java
new file mode 100644
index 0000000..d4d21ba
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/ForeignRegisterMapper.java
@@ -0,0 +1,39 @@
+package com.ruoyi.require.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.require.dto.ForeignRegisterDto;
+import com.ruoyi.require.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 foreignRegister
+ * @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/require/mapper/InternalWastesDetailMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/InternalWastesDetailMapper.java
new file mode 100644
index 0000000..39004eb
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/InternalWastesDetailMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.require.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.require.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/require/mapper/InternalWastesMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/InternalWastesMapper.java
new file mode 100644
index 0000000..75215d3
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/InternalWastesMapper.java
@@ -0,0 +1,31 @@
+package com.ruoyi.require.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.require.dto.InternalWastesDto;
+import com.ruoyi.require.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/require/mapper/ProcurementSuppliesContentsMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/ProcurementSuppliesContentsMapper.java
new file mode 100644
index 0000000..6f41af3
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/ProcurementSuppliesContentsMapper.java
@@ -0,0 +1,9 @@
+package com.ruoyi.require.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.require.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/require/mapper/ProcurementSuppliesListMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/ProcurementSuppliesListMapper.java
new file mode 100644
index 0000000..e5cfb35
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/ProcurementSuppliesListMapper.java
@@ -0,0 +1,30 @@
+package com.ruoyi.require.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.require.dto.ProcurementSuppliesListDto;
+import com.ruoyi.require.pojo.ProcurementSuppliesList;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 鏈嶅姟涓庝緵搴斿晢 鑰楁潗鍒楄〃 Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-15 04:04:32
+ */
+@Mapper
+public interface ProcurementSuppliesListMapper extends BaseMapper<ProcurementSuppliesList> {
+ IPage<ProcurementSuppliesList> selectProcurementSuppliesList(Page page, @Param("ew") 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/require/mapper/SupplierManagementMapper.java b/cnas-require/src/main/java/com/ruoyi/require/mapper/SupplierManagementMapper.java
new file mode 100644
index 0000000..48abcbc
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/mapper/SupplierManagementMapper.java
@@ -0,0 +1,31 @@
+package com.ruoyi.require.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.require.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/require/pojo/FeIllumination.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/FeIllumination.java
new file mode 100644
index 0000000..bc63720
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/FeIllumination.java
@@ -0,0 +1,62 @@
+package com.ruoyi.require.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-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 LocalDate testDate;
+
+ @ApiModelProperty("鏍″噯鏃ユ湡")
+ private LocalDateTime lastCalibrationDate;
+
+ @ApiModelProperty("涓嬫鏍″噯鏃ユ湡")
+ private LocalDateTime nextCalibrationDate;
+
+ @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/require/pojo/FeIlluminationDetectionArea.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/FeIlluminationDetectionArea.java
new file mode 100644
index 0000000..5e8a99e
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/FeIlluminationDetectionArea.java
@@ -0,0 +1,59 @@
+package com.ruoyi.require.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/require/pojo/FeLightningProtection.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/FeLightningProtection.java
new file mode 100644
index 0000000..c6068f0
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/FeLightningProtection.java
@@ -0,0 +1,58 @@
+package com.ruoyi.require.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/require/pojo/FeMeasuredQuantity.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/FeMeasuredQuantity.java
new file mode 100644
index 0000000..1fdd836
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/FeMeasuredQuantity.java
@@ -0,0 +1,54 @@
+package com.ruoyi.require.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/require/pojo/FePowerStable.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/FePowerStable.java
new file mode 100644
index 0000000..d7238e0
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/FePowerStable.java
@@ -0,0 +1,64 @@
+package com.ruoyi.require.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-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 LocalDate testDate;
+
+ @ApiModelProperty("璁惧id")
+ private Integer deviceId;
+
+ @ApiModelProperty("缁撹")
+ private String conclusion;
+
+ @ApiModelProperty("妫�娴嬭�卛d")
+ private Integer testerId;
+
+ @ApiModelProperty("鏍告煡浜篿d")
+ private Integer checkerId;
+
+ @ApiModelProperty("鏍″噯鏃ユ湡")
+ private LocalDateTime lastCalibrationDate;
+
+ @ApiModelProperty("涓嬫鏍″噯鏃ユ湡")
+ private LocalDateTime nextCalibrationDate;
+
+ @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/require/pojo/FeTempHumDate.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/FeTempHumDate.java
new file mode 100644
index 0000000..f8fb4a3
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/FeTempHumDate.java
@@ -0,0 +1,56 @@
+package com.ruoyi.require.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+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 {
+
+ @ApiModelProperty("涓婚敭ID")
+ @TableId(value = "date_id", type = IdType.AUTO)
+ private Integer dateId;
+
+ @ApiModelProperty("鏈堝害鏃堕棿")
+ private String monthDate;
+
+ @ApiModelProperty("璇曢獙鍖哄煙鍚嶇О")
+ private String testAreaName;
+
+ @ApiModelProperty("澧炶ˉ淇℃伅")
+ private String subjoin;
+
+ @ApiModelProperty("鏄惁纭")
+ private String isAffirm;
+
+ @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/require/pojo/FeTempHumRecord.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/FeTempHumRecord.java
new file mode 100644
index 0000000..8e0910f
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/FeTempHumRecord.java
@@ -0,0 +1,67 @@
+package com.ruoyi.require.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.LocalDate;
+import java.time.LocalTime;
+
+/**
+ * <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 LocalDate recordDate;
+
+ @ApiModelProperty("涓婂崍-鏃堕棿")
+ private LocalTime morningTestTime;
+
+ @ApiModelProperty("涓婂崍娓╁害")
+ private String morningTemp;
+
+ @ApiModelProperty("涓婂崍婀垮害")
+ private String morningHum;
+
+ @ApiModelProperty("涓婂崍璁板綍鍛�")
+ private Integer morningRecorderId;
+
+ @ApiModelProperty("涓嬪崍鏃堕棿")
+ private LocalTime 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/require/pojo/ForeignRegister.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/ForeignRegister.java
new file mode 100644
index 0000000..ba7eaf4
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/ForeignRegister.java
@@ -0,0 +1,72 @@
+package com.ruoyi.require.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/require/pojo/InternalWastes.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/InternalWastes.java
new file mode 100644
index 0000000..a56ed4e
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/InternalWastes.java
@@ -0,0 +1,44 @@
+package com.ruoyi.require.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/require/pojo/InternalWastesDetail.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/InternalWastesDetail.java
new file mode 100644
index 0000000..ac9ce0c
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/InternalWastesDetail.java
@@ -0,0 +1,66 @@
+package com.ruoyi.require.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/require/pojo/ProcurementSuppliesContents.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/ProcurementSuppliesContents.java
new file mode 100644
index 0000000..0d5649c
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/ProcurementSuppliesContents.java
@@ -0,0 +1,42 @@
+package com.ruoyi.require.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/require/pojo/ProcurementSuppliesList.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/ProcurementSuppliesList.java
new file mode 100644
index 0000000..eda754b
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/ProcurementSuppliesList.java
@@ -0,0 +1,101 @@
+package com.ruoyi.require.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/require/pojo/SupplierManagement.java b/cnas-require/src/main/java/com/ruoyi/require/pojo/SupplierManagement.java
new file mode 100644
index 0000000..d105000
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/pojo/SupplierManagement.java
@@ -0,0 +1,110 @@
+package com.ruoyi.require.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/require/service/FeIlluminationDetectionAreaService.java b/cnas-require/src/main/java/com/ruoyi/require/service/FeIlluminationDetectionAreaService.java
new file mode 100644
index 0000000..c58efc1
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/FeIlluminationDetectionAreaService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.require.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.require.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/require/service/FeIlluminationService.java b/cnas-require/src/main/java/com/ruoyi/require/service/FeIlluminationService.java
new file mode 100644
index 0000000..0fc5100
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/FeIlluminationService.java
@@ -0,0 +1,29 @@
+package com.ruoyi.require.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.require.dto.FeIlluminationDto;
+import com.ruoyi.require.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/require/service/FeLightningProtectionService.java b/cnas-require/src/main/java/com/ruoyi/require/service/FeLightningProtectionService.java
new file mode 100644
index 0000000..effd73c
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/FeLightningProtectionService.java
@@ -0,0 +1,21 @@
+package com.ruoyi.require.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.require.excel.FeLightningProtectionExcel;
+import com.ruoyi.require.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/require/service/FeMeasuredQuantityService.java b/cnas-require/src/main/java/com/ruoyi/require/service/FeMeasuredQuantityService.java
new file mode 100644
index 0000000..b4f4832
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/FeMeasuredQuantityService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.require.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.require.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/require/service/FePowerStableService.java b/cnas-require/src/main/java/com/ruoyi/require/service/FePowerStableService.java
new file mode 100644
index 0000000..6ad3b0f
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/FePowerStableService.java
@@ -0,0 +1,33 @@
+package com.ruoyi.require.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.require.dto.FePowerStableDto;
+import com.ruoyi.require.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/require/service/FeTempHumDateService.java b/cnas-require/src/main/java/com/ruoyi/require/service/FeTempHumDateService.java
new file mode 100644
index 0000000..19572cf
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/FeTempHumDateService.java
@@ -0,0 +1,30 @@
+package com.ruoyi.require.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.require.dto.FeTempHumDateDto;
+import com.ruoyi.require.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, FeTempHumDateDto feTempHumDateDto);
+
+ void exportTemperatureAndHumidityRecords(Integer dateId, HttpServletResponse response);
+
+ /**
+ * 娓╂箍搴︾‘璁�
+ * @param feTempHumDate
+ */
+ void affirmFeTempHumDate(FeTempHumDate feTempHumDate);
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/FeTempHumRecordService.java b/cnas-require/src/main/java/com/ruoyi/require/service/FeTempHumRecordService.java
new file mode 100644
index 0000000..3e6f45e
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/FeTempHumRecordService.java
@@ -0,0 +1,20 @@
+package com.ruoyi.require.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.require.dto.FeTempHumRecordDto;
+import com.ruoyi.require.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/require/service/ForeignRegisterService.java b/cnas-require/src/main/java/com/ruoyi/require/service/ForeignRegisterService.java
new file mode 100644
index 0000000..1034ac5
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/ForeignRegisterService.java
@@ -0,0 +1,34 @@
+package com.ruoyi.require.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.require.dto.ForeignRegisterDto;
+import com.ruoyi.require.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/require/service/InternalWastesDetailService.java b/cnas-require/src/main/java/com/ruoyi/require/service/InternalWastesDetailService.java
new file mode 100644
index 0000000..17805ce
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/InternalWastesDetailService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.require.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.require.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/require/service/InternalWastesService.java b/cnas-require/src/main/java/com/ruoyi/require/service/InternalWastesService.java
new file mode 100644
index 0000000..06ad0e8
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/InternalWastesService.java
@@ -0,0 +1,63 @@
+package com.ruoyi.require.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.require.dto.InternalWastesDto;
+import com.ruoyi.require.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/require/service/ProcurementSuppliesContentsService.java b/cnas-require/src/main/java/com/ruoyi/require/service/ProcurementSuppliesContentsService.java
new file mode 100644
index 0000000..930c1c5
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/ProcurementSuppliesContentsService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.require.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.require.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/require/service/ProcurementSuppliesListService.java b/cnas-require/src/main/java/com/ruoyi/require/service/ProcurementSuppliesListService.java
new file mode 100644
index 0000000..d604d6f
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/ProcurementSuppliesListService.java
@@ -0,0 +1,28 @@
+package com.ruoyi.require.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.require.dto.ProcurementSuppliesListDto;
+import com.ruoyi.require.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/require/service/SupplierManagementService.java b/cnas-require/src/main/java/com/ruoyi/require/service/SupplierManagementService.java
new file mode 100644
index 0000000..e4ebd7f
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/SupplierManagementService.java
@@ -0,0 +1,32 @@
+package com.ruoyi.require.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.require.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/require/service/impl/FeIlluminationDetectionAreaServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/FeIlluminationDetectionAreaServiceImpl.java
new file mode 100644
index 0000000..739d3b5
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/FeIlluminationDetectionAreaServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.require.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.require.mapper.FeIlluminationDetectionAreaMapper;
+import com.ruoyi.require.pojo.FeIlluminationDetectionArea;
+import com.ruoyi.require.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/require/service/impl/FeIlluminationServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/FeIlluminationServiceImpl.java
new file mode 100644
index 0000000..85ba721
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/FeIlluminationServiceImpl.java
@@ -0,0 +1,123 @@
+package com.ruoyi.require.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.require.dto.FeIlluminationDto;
+import com.ruoyi.require.dto.FeIlluminationExportDto;
+import com.ruoyi.require.mapper.FeIlluminationDetectionAreaMapper;
+import com.ruoyi.require.mapper.FeIlluminationMapper;
+import com.ruoyi.require.pojo.FeIllumination;
+import com.ruoyi.require.pojo.FeIlluminationDetectionArea;
+import com.ruoyi.require.service.FeIlluminationService;
+import com.ruoyi.system.mapper.UserMapper;
+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.LocalDateTime;
+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));
+
+ // 鑾峰彇璺緞
+ InputStream inputStream = this.getClass().getResourceAsStream("/static/illumination.docx");
+ Configure configure = Configure.builder()
+ .bind("detectionAreaList", new HackLoopTableRenderPolicy())
+ .build();
+ String finalTesterUrl = testerUrl;
+ String finalCheckerUrl = checkerUrl;
+
+ // 鍒ゆ柇妫�娴嬫棩鏈熸槸鍚︿负绌�
+ LocalDateTime finalLocalDateTime = illuminationExportDto.getTestDate() == null ? null : illuminationExportDto.getTestDate().atStartOfDay();
+ 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/require/service/impl/FeLightningProtectionServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/FeLightningProtectionServiceImpl.java
new file mode 100644
index 0000000..6eeed39
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/FeLightningProtectionServiceImpl.java
@@ -0,0 +1,27 @@
+package com.ruoyi.require.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.require.excel.FeLightningProtectionExcel;
+import com.ruoyi.require.mapper.FeLightningProtectionMapper;
+import com.ruoyi.require.pojo.FeLightningProtection;
+import com.ruoyi.require.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/require/service/impl/FeMeasuredQuantityServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/FeMeasuredQuantityServiceImpl.java
new file mode 100644
index 0000000..6dd7936
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/FeMeasuredQuantityServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.require.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.require.mapper.FeMeasuredQuantityMapper;
+import com.ruoyi.require.pojo.FeMeasuredQuantity;
+import com.ruoyi.require.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/require/service/impl/FePowerStableServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/FePowerStableServiceImpl.java
new file mode 100644
index 0000000..d5f2174
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/FePowerStableServiceImpl.java
@@ -0,0 +1,123 @@
+package com.ruoyi.require.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.require.dto.FePowerStableDto;
+import com.ruoyi.require.dto.FePowerStableExportDto;
+import com.ruoyi.require.mapper.FeMeasuredQuantityMapper;
+import com.ruoyi.require.mapper.FePowerStableMapper;
+import com.ruoyi.require.pojo.FeMeasuredQuantity;
+import com.ruoyi.require.pojo.FePowerStable;
+import com.ruoyi.require.service.FePowerStableService;
+import com.ruoyi.system.mapper.UserMapper;
+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/require/service/impl/FeTempHumDateServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/FeTempHumDateServiceImpl.java
new file mode 100644
index 0000000..61ee538
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/FeTempHumDateServiceImpl.java
@@ -0,0 +1,141 @@
+package com.ruoyi.require.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+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.common.utils.SecurityUtils;
+import com.ruoyi.inspect.util.HackLoopTableRenderPolicy;
+import com.ruoyi.require.dto.FeTempHumDateDto;
+import com.ruoyi.require.dto.FeTempHumRecordDto;
+import com.ruoyi.require.mapper.FeTempHumDateMapper;
+import com.ruoyi.require.pojo.FeTempHumDate;
+import com.ruoyi.require.pojo.FeTempHumRecord;
+import com.ruoyi.require.service.FeTempHumDateService;
+import com.ruoyi.require.service.FeTempHumRecordService;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+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.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ * 璁炬柦鍜岀幆澧冩潯浠�-璁炬柦鍜岀幆澧冩潯浠惰姹�-娓╂箍搴� 鍖哄煙 -鐖� 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-11-09 11:02:18
+ */
+@Service
+public class FeTempHumDateServiceImpl extends ServiceImpl<FeTempHumDateMapper, FeTempHumDate> implements FeTempHumDateService {
+
+ @Resource
+ private FeTempHumRecordService feTempHumRecordService;
+
+ @Override
+ public IPage<FeTempHumDateDto> getFeTempHumDate(Page page, FeTempHumDateDto feTempHumDateDto) {
+ return baseMapper.getFeTempHumDate(page, QueryWrappers.queryWrappers(feTempHumDateDto));
+ }
+
+ @Override
+ public void exportTemperatureAndHumidityRecords(Integer dateId, HttpServletResponse response) {
+ FeTempHumDate feTempHumDate = baseMapper.selectById(dateId);
+ // 鑾峰彇骞村害鏈堝害鏃堕棿
+ String[] month = feTempHumDate.getMonthDate().split("-");
+
+ IPage<FeTempHumRecordDto> list = feTempHumRecordService.getFeTempHumRecordPage(new Page<>(1, -1), dateId);
+ List<FeTempHumRecordDto> feTempHumRecordDtos = list.getRecords();
+ // 鎸夌収澶╂暟鍒嗙粍
+ Map<Integer, List<FeTempHumRecordDto>> groupMap = feTempHumRecordDtos.stream().peek(feTempHumRecordDto -> {
+ feTempHumRecordDto.setMonthDay(feTempHumRecordDto.getRecordDate().getDayOfMonth());
+ })
+ .collect(Collectors.groupingBy(FeTempHumRecordDto::getMonthDay));
+
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm");
+ // 閬嶅巻31鑾峰彇31涓璞�
+ List<FeTempHumRecordDto> recordDtoList = new ArrayList<>();
+ for (int i = 1; i <= 31; i++) {
+ FeTempHumRecordDto recordDto = new FeTempHumRecordDto();
+ recordDto.setMonth(i);
+ recordDtoList.add(recordDto);
+ // 鑾峰彇褰撳墠鏈堢殑
+ List<FeTempHumRecordDto> recordDtos = groupMap.get(i);
+ if (CollectionUtils.isNotEmpty(recordDtos)) {
+ // 澶嶅埗瀵硅薄
+ BeanUtils.copyProperties(recordDtos.get(0), recordDto, "month");
+ recordDto.setMorningTestTimeStr(recordDto.getMorningTestTime() == null ? null : recordDto.getMorningTestTime().format(formatter));
+ recordDto.setAfternoonTimeStr(recordDto.getAfternoonTime() == null ? null : recordDto.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", month[0]);
+ map.put("experimentalMonth", month[1]);
+ map.put("subjoin", feTempHumDate.getSubjoin());
+
+ XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render(
+ new HashMap<String, Object>() {{
+ put("feTempHum", map);
+ put("recordList", recordDtoList);
+ }});
+
+ 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("瀵煎嚭澶辫触");
+ }
+ }
+
+ /**
+ * 娓╂箍搴︾‘璁�
+ * @param feTempHumDate
+ */
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void affirmFeTempHumDate(FeTempHumDate feTempHumDate) {
+ // 娓╂箍搴︾‘璁�
+ this.update(Wrappers.<FeTempHumDate>lambdaUpdate()
+ .eq(FeTempHumDate::getDateId, feTempHumDate.getDateId())
+ .set(FeTempHumDate::getSubjoin, feTempHumDate.getSubjoin())
+ .set(FeTempHumDate::getIsAffirm, 1));
+
+ // 娓╂箍搴﹁褰曟坊鍔犺褰曞憳
+ Integer userId = SecurityUtils.getUserId().intValue();
+ feTempHumRecordService.update(Wrappers.<FeTempHumRecord>lambdaUpdate()
+ .eq(FeTempHumRecord::getDateId, feTempHumDate.getDateId())
+ .set(FeTempHumRecord::getAfternoonRecorderId, userId)
+ .set(FeTempHumRecord::getMorningRecorderId, userId));
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/impl/FeTempHumRecordServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/FeTempHumRecordServiceImpl.java
new file mode 100644
index 0000000..2e37f6a
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/FeTempHumRecordServiceImpl.java
@@ -0,0 +1,27 @@
+package com.ruoyi.require.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.require.dto.FeTempHumRecordDto;
+import com.ruoyi.require.mapper.FeTempHumRecordMapper;
+import com.ruoyi.require.pojo.FeTempHumRecord;
+import com.ruoyi.require.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/require/service/impl/ForeignRegisterServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/ForeignRegisterServiceImpl.java
new file mode 100644
index 0000000..a32af2c
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/ForeignRegisterServiceImpl.java
@@ -0,0 +1,101 @@
+package com.ruoyi.require.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.require.dto.ForeignRegisterDto;
+import com.ruoyi.require.mapper.ForeignRegisterMapper;
+import com.ruoyi.require.pojo.ForeignRegister;
+import com.ruoyi.require.service.ForeignRegisterService;
+import com.ruoyi.system.mapper.UserMapper;
+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/require/service/impl/InternalWastesDetailServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/InternalWastesDetailServiceImpl.java
new file mode 100644
index 0000000..80be802
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/InternalWastesDetailServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.require.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.require.mapper.InternalWastesDetailMapper;
+import com.ruoyi.require.pojo.InternalWastesDetail;
+import com.ruoyi.require.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/require/service/impl/InternalWastesServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/InternalWastesServiceImpl.java
new file mode 100644
index 0000000..9d58f8b
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/InternalWastesServiceImpl.java
@@ -0,0 +1,170 @@
+package com.ruoyi.require.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.require.dto.InternalWastesDto;
+import com.ruoyi.require.mapper.InternalWastesMapper;
+import com.ruoyi.require.pojo.InternalWastes;
+import com.ruoyi.require.pojo.InternalWastesDetail;
+import com.ruoyi.require.service.InternalWastesDetailService;
+import com.ruoyi.require.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/require/service/impl/ProcurementSuppliesContentsServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/ProcurementSuppliesContentsServiceImpl.java
new file mode 100644
index 0000000..634d4c7
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/ProcurementSuppliesContentsServiceImpl.java
@@ -0,0 +1,91 @@
+package com.ruoyi.require.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.require.mapper.ProcurementSuppliesContentsMapper;
+import com.ruoyi.require.pojo.ProcurementSuppliesContents;
+import com.ruoyi.require.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/require/service/impl/ProcurementSuppliesListServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/ProcurementSuppliesListServiceImpl.java
new file mode 100644
index 0000000..2b019b8
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/ProcurementSuppliesListServiceImpl.java
@@ -0,0 +1,130 @@
+package com.ruoyi.require.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.inspect.dto.ProcurementSuppliesListEDto;
+import com.ruoyi.require.dto.ProcurementSuppliesListDto;
+import com.ruoyi.require.mapper.ProcurementSuppliesListMapper;
+import com.ruoyi.require.mapper.SupplierManagementMapper;
+import com.ruoyi.require.pojo.ProcurementSuppliesList;
+import com.ruoyi.require.pojo.SupplierManagement;
+import com.ruoyi.require.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.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;
+
+ @Autowired
+ private SupplierManagementMapper supplierManagementMapper;
+
+ @Autowired
+ private ProcurementSuppliesListMapper procurementSuppliesListMapper;
+
+ @Override
+ public IPage<ProcurementSuppliesListDto> selectList(Page page, ProcurementSuppliesListDto list) {
+ IPage<ProcurementSuppliesList> iPage = baseMapper.selectProcurementSuppliesList(page, 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());
+ }
+
+ if (record.getSupplier() != 0) {
+ SupplierManagement supplierManagement = supplierManagementMapper.selectById(record.getSupplier());
+ dto.setSupplierName(supplierManagement.getSupplierName());
+ }
+
+ 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 = this.list(new QueryWrapper<ProcurementSuppliesList>().lambda()
+// .select(ProcurementSuppliesList::getId
+// , ProcurementSuppliesList::getUnit
+// , ProcurementSuppliesList::getLowerLimit
+// , ProcurementSuppliesList::getConsumablesType
+// , ProcurementSuppliesList::getItemNumber
+// , ProcurementSuppliesList::getConsumablesName
+// , ProcurementSuppliesList::getSpecifications
+// , ProcurementSuppliesList::getCurrentAmount
+// , ProcurementSuppliesList::getRemark).eq(ProcurementSuppliesList::getContentsId, contentsId));
+ List<ProcurementSuppliesList> data = procurementSuppliesListMapper.selectProcurementSuppliesListByContentsId(contentsId);
+ if (data.size()==0) {
+ throw new RuntimeException("鏃犳暟鎹�");
+ }
+ 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 RuntimeException("瀵煎嚭澶辫触");
+ } catch (IOException e) {
+ e.printStackTrace();
+ throw new RuntimeException("瀵煎嚭澶辫触");
+ }
+ }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/impl/SupplierManagementServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/SupplierManagementServiceImpl.java
new file mode 100644
index 0000000..855db1e
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/SupplierManagementServiceImpl.java
@@ -0,0 +1,91 @@
+package com.ruoyi.require.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.require.dto.SupplierManagementDto;
+import com.ruoyi.require.mapper.SupplierManagementMapper;
+import com.ruoyi.require.pojo.SupplierManagement;
+import com.ruoyi.require.service.SupplierManagementService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+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 {
+
+ @Autowired
+ 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/resources/mapper/ProcurementSuppliesListMapper.xml b/cnas-require/src/main/resources/mapper/ProcurementSuppliesListMapper.xml
new file mode 100644
index 0000000..229983a
--- /dev/null
+++ b/cnas-require/src/main/resources/mapper/ProcurementSuppliesListMapper.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.require.mapper.ProcurementSuppliesListMapper">
+
+ <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+ <resultMap id="BaseResultMap" type="com.ruoyi.require.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="ew.contentId != null and ew.contentId != ''">
+ and content_id = ${ew.contentId}
+ </if>
+ </where>
+ </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.contentId != null and ew.contentId != ''">
+ and content_id = ${ew.contentId}
+ </if>
+ </where>
+ </select>
+ <select id="selectProcurementSuppliesListByContentsId"
+ resultType="com.ruoyi.require.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/SupplierManagementMapper.xml b/cnas-require/src/main/resources/mapper/SupplierManagementMapper.xml
new file mode 100644
index 0000000..431dc29
--- /dev/null
+++ b/cnas-require/src/main/resources/mapper/SupplierManagementMapper.xml
@@ -0,0 +1,81 @@
+<?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.require.mapper.SupplierManagementMapper">
+
+ <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+ <resultMap id="BaseResultMap" type="com.ruoyi.require.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.require.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.require.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.require.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 csm.parent_id in (select id from procurement_supplies_contents where id = #{parentId} or parent_id = #{parentId})
+ </select>
+ <select id="selectSupplierManagement" resultType="com.ruoyi.require.pojo.SupplierManagement">
+ select
+ *
+ from cnas_supplier_management csm
+ where
+ csm.parent_id = #{parentId} or
+ csm.parent_id in
+ (select id from procurement_supplies_contents where id = #{parentId} or parent_id = #{parentId})
+ </select>
+</mapper>
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/dto/ProcurementSuppliesListEDto.java b/inspect-server/src/main/java/com/ruoyi/inspect/dto/ProcurementSuppliesListEDto.java
new file mode 100644
index 0000000..05fba85
--- /dev/null
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/dto/ProcurementSuppliesListEDto.java
@@ -0,0 +1,54 @@
+package com.ruoyi.inspect.dto;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class ProcurementSuppliesListEDto {
+
+ @TableId(value = "id", type = IdType.AUTO)
+ @ApiModelProperty("缂栧彿")
+ @ExcelProperty("缂栧彿")
+ private Long id;
+
+ @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 Integer lowerLimit;
+
+
+
+ @ApiModelProperty("澶囨敞")
+ @ExcelProperty("澶囨敞")
+ private String remark;
+
+
+ @ApiModelProperty("褰撳墠搴撳瓨鏁伴噺")
+ @ExcelProperty("褰撳墠搴撳瓨")
+ private Integer currentAmount;
+}
--
Gitblit v1.9.3