From 75960d6e223f8cab9ceb489f6b89f5f08c6db62a Mon Sep 17 00:00:00 2001
From: heheng <475597332@qq.com>
Date: 星期五, 01 八月 2025 17:24:32 +0800
Subject: [PATCH] 部分新功能
---
multi-system/src/main/java/com/gkhy/exam/system/domain/AnnualMaintenanceServiceContent.java | 74 +
multi-system/src/main/java/com/gkhy/exam/system/domain/vo/AnnualMaintenanceDeviceSaveDTOReq.java | 51
multi-system/src/main/java/com/gkhy/exam/system/domain/AnnualMaintenanceService.java | 100 +
multi-system/src/main/resources/mapper/system/StandingBookMapper.xml | 18
multi-system/src/main/java/com/gkhy/exam/system/service/AnnualMaintenanceEvaluateService.java | 27
multi-system/src/main/java/com/gkhy/exam/system/domain/AnnualMaintenanceServiceUser.java | 85 +
multi-system/src/main/java/com/gkhy/exam/system/mapper/AnnualMaintenanceDeviceTypeMapper.java | 18
multi-system/src/main/java/com/gkhy/exam/system/mapper/AnnualMaintenanceServiceUserMapper.java | 23
multi-system/src/main/java/com/gkhy/exam/system/mapper/AnnualMaintenanceServiceMapper.java | 21
multi-system/src/main/java/com/gkhy/exam/system/domain/AnnualMaintenance.java | 111 ++
multi-system/src/main/java/com/gkhy/exam/system/service/impl/AnnualMaintenanceRecordServiceImpl.java | 193 +++
multi-system/src/main/java/com/gkhy/exam/system/service/impl/AnnualMaintenanceServiceServiceImpl.java | 246 ++++
multi-system/src/main/java/com/gkhy/exam/system/domain/AnnualMaintenanceDevice.java | 95 +
multi-system/src/main/java/com/gkhy/exam/system/domain/AnnualMaintenanceDeviceType.java | 118 ++
multi-system/src/main/java/com/gkhy/exam/system/service/AnnualMaintenanceService.java | 28
multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/AnnualMaintenanceEvaluateController.java | 67 +
multi-system/src/main/java/com/gkhy/exam/system/service/AnnualMaintenanceRecordService.java | 26
multi-system/src/main/resources/mapper/system/AnnualMaintenanceRecordMapper.xml | 17
multi-system/src/main/java/com/gkhy/exam/system/service/AnnualMaintenanceServiceService.java | 25
multi-system/src/main/java/com/gkhy/exam/system/mapper/AnnualMaintenanceEvaluateMapper.java | 21
multi-system/src/main/java/com/gkhy/exam/system/service/impl/AnnualMaintenanceServiceImpl.java | 229 ++++
multi-system/src/main/resources/mapper/system/AnnualMaintenanceServiceContentMapper.xml | 28
multi-system/src/main/java/com/gkhy/exam/system/mapper/AnnualMaintenanceDeviceMapper.java | 18
multi-system/src/main/java/com/gkhy/exam/system/mapper/StandingBookMapper.java | 22
multi-system/src/main/java/com/gkhy/exam/system/service/impl/AnnualMaintenanceEvaluateServiceImpl.java | 154 ++
multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/StandingBookController.java | 63 +
multi-system/src/main/java/com/gkhy/exam/system/mapper/AnnualMaintenanceMapper.java | 22
multi-system/src/main/java/com/gkhy/exam/system/service/impl/CorrectionServiceImpl.java | 20
multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/AnnualMaintenanceController.java | 69 +
multi-system/src/main/java/com/gkhy/exam/system/domain/AnnualMaintenanceRecord.java | 192 +++
multi-system/src/main/resources/mapper/system/AnnualMaintenanceDeviceTypeMapper.xml | 5
multi-system/src/main/resources/mapper/system/AnnualMaintenanceMapper.xml | 18
multi-system/src/main/resources/mapper/system/AnnualMaintenanceRecordUserMapper.xml | 27
multi-system/src/main/resources/mapper/system/AnnualMaintenanceServiceMapper.xml | 14
multi-system/src/main/resources/mapper/system/AnnualMaintenanceServiceUserMapper.xml | 27
multi-system/src/main/java/com/gkhy/exam/system/domain/AnnualMaintenanceEvaluate.java | 132 ++
multi-system/src/main/java/com/gkhy/exam/system/mapper/AnnualMaintenanceRecordMapper.java | 21
multi-system/src/main/java/com/gkhy/exam/system/service/StandingBookService.java | 25
multi-system/src/main/java/com/gkhy/exam/system/mapper/AnnualMaintenanceRecordUserMapper.java | 23
multi-system/src/main/resources/mapper/system/AnnualMaintenanceEvaluateDeviceMapper.xml | 37
multi-system/src/main/java/com/gkhy/exam/system/domain/StandingBook.java | 123 ++
multi-system/src/main/java/com/gkhy/exam/system/domain/vo/AnnualMaintenanceInfoRep.java | 16
multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/AnnualMaintenanceServiceController.java | 67 +
multi-system/src/main/java/com/gkhy/exam/system/service/impl/StandingBookServiceImpl.java | 74 +
multi-system/src/main/java/com/gkhy/exam/system/mapper/AnnualMaintenanceEvaluateDeviceMapper.java | 25
multi-system/src/main/resources/mapper/system/AnnualMaintenanceEvaluateMapper.xml | 16
multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/AnnualMaintenanceRecordController.java | 67 +
multi-system/src/main/java/com/gkhy/exam/system/domain/AnnualMaintenanceEvaluateDevice.java | 103 +
multi-system/src/main/java/com/gkhy/exam/system/domain/vo/AnnualMaintenanceSaveDTOReq.java | 70 +
multi-system/src/main/java/com/gkhy/exam/system/mapper/AnnualMaintenanceServiceContentMapper.java | 23
multi-system/src/main/java/com/gkhy/exam/system/domain/AnnualMaintenanceRecordUser.java | 80 +
multi-system/src/main/resources/mapper/system/AnnualMaintenanceDeviceMapper.xml | 5
52 files changed, 3,169 insertions(+), 10 deletions(-)
diff --git a/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/AnnualMaintenanceController.java b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/AnnualMaintenanceController.java
new file mode 100644
index 0000000..6c74eaf
--- /dev/null
+++ b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/AnnualMaintenanceController.java
@@ -0,0 +1,69 @@
+package com.gkhy.exam.admin.controller.web;
+
+
+import com.gkhy.exam.common.annotation.RepeatSubmit;
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.system.domain.AnnualMaintenance;
+import com.gkhy.exam.system.domain.StandingBook;
+import com.gkhy.exam.system.domain.vo.AnnualMaintenanceSaveDTOReq;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import com.gkhy.exam.system.service.AnnualMaintenanceService;
+
+import javax.annotation.Resource;
+
+/**
+ * <p>
+ * 年度基础设施维护计划主表 前端控制器
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-31 16:12:02
+ */
+@RestController
+@RequestMapping("/system/annualMaintenance")
+@Api(tags = "年度基础设施维护计划管理")
+public class AnnualMaintenanceController {
+
+ @Resource
+ private AnnualMaintenanceService annualMaintenanceService;
+
+ @ApiOperation(value = "年度基础设施维护计划列表(分页)")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = false, value = "当前页,默认1"),
+ @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10"),
+ @ApiImplicitParam(paramType = "query", name = "companyId", dataType = "int", required = false, value = "公司id"),
+ @ApiImplicitParam(paramType = "query", name = "year", dataType = "String", required = false, value = "年"),
+ })
+ @GetMapping("/selectAnnualMaintenanceList")
+ public CommonResult selectAnnualMaintenanceList(AnnualMaintenance annualMaintenance){
+ return CommonResult.success(annualMaintenanceService.selectAnnualMaintenanceList(annualMaintenance));
+ }
+ @RepeatSubmit
+ @ApiOperation(value = "新增编辑年度基础设施维护计划")
+ @PostMapping("/saveAnnualMaintenance")
+ public CommonResult saveAnnualMaintenance(@RequestBody @Validated AnnualMaintenanceSaveDTOReq maintenanceSaveDTOReq){
+ return annualMaintenanceService.saveAnnualMaintenance(maintenanceSaveDTOReq);
+ }
+ @ApiOperation(value = "年度基础设施计划详情")
+ @GetMapping("/getAnnualMaintenance")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", name = "id", dataType = "int", required = true, value = "id"),
+ })
+ public CommonResult getAnnualMaintenance(@RequestParam Integer id){
+ return annualMaintenanceService.getAnnualMaintenance(id);
+ }
+ @ApiOperation(value = "删除年度基础设施计划")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", name = "id", dataType = "int", required = true, value = "id"),
+ })
+ @GetMapping("/deletedAnnualMaintenance")
+ public CommonResult deletedAnnualMaintenance(@RequestParam Integer id){
+ return annualMaintenanceService.deletedAnnualMaintenance(id);
+ }
+}
diff --git a/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/AnnualMaintenanceEvaluateController.java b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/AnnualMaintenanceEvaluateController.java
new file mode 100644
index 0000000..fea95f8
--- /dev/null
+++ b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/AnnualMaintenanceEvaluateController.java
@@ -0,0 +1,67 @@
+package com.gkhy.exam.admin.controller.web;
+
+
+import com.gkhy.exam.common.annotation.RepeatSubmit;
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.system.domain.AnnualMaintenanceEvaluate;
+import com.gkhy.exam.system.domain.AnnualMaintenanceRecord;
+import com.gkhy.exam.system.service.AnnualMaintenanceEvaluateService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * <p>
+ * 设备完好评价记录及完整率统计 前端控制器
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-31 16:12:02
+ */
+@RestController
+@RequestMapping("/system/annualMaintenanceEvaluate")
+@Api(tags = "设备完好评价记录及完整率统计管理")
+public class AnnualMaintenanceEvaluateController {
+
+
+ @Autowired
+ private AnnualMaintenanceEvaluateService annualMaintenanceEvaluateService;
+
+ @ApiOperation(value = "设备完好评价记录及完整率统计管理列表(分页)")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = false, value = "当前页,默认1"),
+ @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10"),
+ @ApiImplicitParam(paramType = "query", name = "companyId", dataType = "int", required = false, value = "公司id"),
+
+ })
+ @GetMapping("/selectAnnualMaintenanceEvaluateList")
+ public CommonResult selectAnnualMaintenanceEvaluateList(AnnualMaintenanceEvaluate annualMaintenanceEvaluate){
+ return CommonResult.success(annualMaintenanceEvaluateService.selectAnnualMaintenanceEvaluateList(annualMaintenanceEvaluate));
+ }
+ @RepeatSubmit
+ @ApiOperation(value = "新增编辑设备完好评价记录及完整率统计管理")
+ @PostMapping("/saveAnnualMaintenanceEvaluate")
+ public CommonResult saveAnnualMaintenanceEvaluate(@RequestBody @Validated AnnualMaintenanceEvaluate annualMaintenanceEvaluate){
+ return annualMaintenanceEvaluateService.saveAnnualMaintenanceEvaluate(annualMaintenanceEvaluate);
+ }
+ @ApiOperation(value = "设备完好评价记录及完整率统计管理详情")
+ @GetMapping("/getAnnualMaintenanceEvaluate")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", name = "id", dataType = "int", required = true, value = "id"),
+ })
+ public CommonResult getAnnualMaintenanceEvaluate(@RequestParam Integer id){
+ return annualMaintenanceEvaluateService.getAnnualMaintenanceEvaluate(id);
+ }
+ @ApiOperation(value = "删除设备完好评价记录及完整率统计管理")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", name = "id", dataType = "int", required = true, value = "id"),
+ })
+ @GetMapping("/deletedAnnualMaintenanceEvaluate")
+ public CommonResult deletedAnnualMaintenanceEvaluate(@RequestParam Integer id){
+ return annualMaintenanceEvaluateService.deletedAnnualMaintenanceEvaluate(id);
+ }
+}
diff --git a/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/AnnualMaintenanceRecordController.java b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/AnnualMaintenanceRecordController.java
new file mode 100644
index 0000000..253fb57
--- /dev/null
+++ b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/AnnualMaintenanceRecordController.java
@@ -0,0 +1,67 @@
+package com.gkhy.exam.admin.controller.web;
+
+
+import com.gkhy.exam.common.annotation.RepeatSubmit;
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.system.domain.AnnualMaintenance;
+import com.gkhy.exam.system.domain.AnnualMaintenanceRecord;
+import com.gkhy.exam.system.domain.vo.AnnualMaintenanceSaveDTOReq;
+import com.gkhy.exam.system.service.AnnualMaintenanceRecordService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * <p>
+ * 年度基础设施维护记录表 前端控制器
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-31 16:12:02
+ */
+@RestController
+@RequestMapping("/system/annualMaintenanceRecord")
+@Api(tags = "年度基础设施维护记录管理")
+public class AnnualMaintenanceRecordController {
+
+ @Autowired
+ private AnnualMaintenanceRecordService annualMaintenanceRecordService;
+
+ @ApiOperation(value = "年度基础设施维护记录列表(分页)")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = false, value = "当前页,默认1"),
+ @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10"),
+ @ApiImplicitParam(paramType = "query", name = "companyId", dataType = "int", required = false, value = "公司id"),
+
+ })
+ @GetMapping("/selectAnnualMaintenanceRecordList")
+ public CommonResult selectAnnualMaintenanceRecordList(AnnualMaintenanceRecord annualMaintenanceRecord){
+ return CommonResult.success(annualMaintenanceRecordService.selectAnnualMaintenanceRecordList(annualMaintenanceRecord));
+ }
+ @RepeatSubmit
+ @ApiOperation(value = "新增编辑年度基础设施维护记录")
+ @PostMapping("/saveAnnualMaintenanceRecord")
+ public CommonResult saveAnnualMaintenanceRecord(@RequestBody @Validated AnnualMaintenanceRecord annualMaintenanceRecord){
+ return annualMaintenanceRecordService.saveAnnualMaintenanceRecord(annualMaintenanceRecord);
+ }
+ @ApiOperation(value = "年度基础设施维护记录详情")
+ @GetMapping("/getAnnualMaintenanceRecord")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", name = "id", dataType = "int", required = true, value = "id"),
+ })
+ public CommonResult getAnnualMaintenanceRecord(@RequestParam Integer id){
+ return annualMaintenanceRecordService.getAnnualMaintenanceRecord(id);
+ }
+ @ApiOperation(value = "删除年度基础设施维护记录")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", name = "id", dataType = "int", required = true, value = "id"),
+ })
+ @GetMapping("/deletedAnnualMaintenanceRecord")
+ public CommonResult deletedAnnualMaintenanceRecord(@RequestParam Integer id){
+ return annualMaintenanceRecordService.deletedAnnualMaintenanceRecord(id);
+ }
+}
diff --git a/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/AnnualMaintenanceServiceController.java b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/AnnualMaintenanceServiceController.java
new file mode 100644
index 0000000..3a838a0
--- /dev/null
+++ b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/AnnualMaintenanceServiceController.java
@@ -0,0 +1,67 @@
+package com.gkhy.exam.admin.controller.web;
+
+
+import com.gkhy.exam.common.annotation.RepeatSubmit;
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.system.domain.AnnualMaintenanceEvaluate;
+import com.gkhy.exam.system.domain.AnnualMaintenanceService;
+import com.gkhy.exam.system.service.AnnualMaintenanceServiceService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * <p>
+ * 年度基础设施维护保养表 前端控制器
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-31 16:12:02
+ */
+@RestController
+@RequestMapping("/system/annualMaintenanceService")
+@Api(tags = "年度基础设施维护保养管理")
+public class AnnualMaintenanceServiceController {
+ @Autowired
+ private AnnualMaintenanceServiceService annualMaintenanceServiceService;
+
+
+
+ @ApiOperation(value = "年度基础设施维护保养管理列表(分页)")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = false, value = "当前页,默认1"),
+ @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10"),
+ @ApiImplicitParam(paramType = "query", name = "companyId", dataType = "int", required = false, value = "公司id"),
+
+ })
+ @GetMapping("/selectAnnualMaintenanceServiceList")
+ public CommonResult selectAnnualMaintenanceServiceList(AnnualMaintenanceService annualMaintenanceService){
+ return CommonResult.success(annualMaintenanceServiceService.selectAnnualMaintenanceServiceList(annualMaintenanceService));
+ }
+ @RepeatSubmit
+ @ApiOperation(value = "新增编辑年度基础设施维护保养管理")
+ @PostMapping("/saveAnnualMaintenanceService")
+ public CommonResult saveAnnualMaintenanceService(@RequestBody @Validated AnnualMaintenanceService annualMaintenanceService){
+ return annualMaintenanceServiceService.saveAnnualMaintenanceService(annualMaintenanceService);
+ }
+ @ApiOperation(value = "年度基础设施维护保养管理详情")
+ @GetMapping("/getAnnualMaintenanceService")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", name = "id", dataType = "int", required = true, value = "id"),
+ })
+ public CommonResult getAnnualMaintenanceService(@RequestParam Integer id){
+ return annualMaintenanceServiceService.getAnnualMaintenanceService(id);
+ }
+ @ApiOperation(value = "删除年度基础设施维护保养管理")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", name = "id", dataType = "int", required = true, value = "id"),
+ })
+ @GetMapping("/deletedAnnualMaintenanceService")
+ public CommonResult deletedAnnualMaintenanceService(@RequestParam Integer id){
+ return annualMaintenanceServiceService.deletedAnnualMaintenanceService(id);
+ }
+}
diff --git a/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/StandingBookController.java b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/StandingBookController.java
new file mode 100644
index 0000000..c402151
--- /dev/null
+++ b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/web/StandingBookController.java
@@ -0,0 +1,63 @@
+package com.gkhy.exam.admin.controller.web;
+
+
+import com.gkhy.exam.common.annotation.RepeatSubmit;
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.system.domain.Correction;
+import com.gkhy.exam.system.domain.StandingBook;
+import com.gkhy.exam.system.service.StandingBookService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * <p>
+ * 台账 前端控制器
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-31 16:12:02
+ */
+@RestController
+@RequestMapping("/system/standingBook")
+@Api(tags = "台账管理")
+public class StandingBookController {
+
+ @Autowired
+ private StandingBookService standingBookService;
+
+ @ApiOperation(value = "台账列表(分页)")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = false, value = "当前页,默认1"),
+ @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10"),
+ @ApiImplicitParam(paramType = "query", name = "companyId", dataType = "int", required = false, value = "公司id"),
+ })
+ @GetMapping("/selectStandingBookList")
+ public CommonResult selectStandingBookList(StandingBook standingBook){
+ return CommonResult.success(standingBookService.selectStandingBookList(standingBook));
+ }
+ @RepeatSubmit
+ @ApiOperation(value = "新增台账管理")
+ @PostMapping("/saveStandingBook")
+ public CommonResult insertStandingBook(@RequestBody @Validated StandingBook standingBook){
+ return standingBookService.insertStandingBook(standingBook);
+ }
+ @ApiOperation(value = "修改台账管理")
+ @PostMapping("/updateStandingBook")
+ public CommonResult updateStandingBook(@RequestBody @Validated StandingBook standingBook){
+ return standingBookService.updateStandingBook(standingBook);
+ }
+ @ApiOperation(value = "删除台账管理")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", name = "id", dataType = "int", required = true, value = "id"),
+ })
+ @GetMapping("/delStandingBook")
+ public CommonResult deletedStandingBook(@RequestParam Integer id){
+ return standingBookService.deletedStandingBook(id);
+ }
+
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/domain/AnnualMaintenance.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/AnnualMaintenance.java
new file mode 100644
index 0000000..e8c57df
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/AnnualMaintenance.java
@@ -0,0 +1,111 @@
+package com.gkhy.exam.system.domain;
+
+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 java.io.Serializable;
+import java.time.LocalDateTime;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * <p>
+ * 年度基础设施维护计划主表
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-31 16:12:02
+ */
+@Getter
+@Setter
+@TableName("annual_maintenance")
+@ApiModel(value = "AnnualMaintenance对象", description = "年度基础设施维护计划主表")
+public class AnnualMaintenance implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+ @ApiModelProperty("企业id")
+ @TableField("company_id")
+ @NotNull(message = "企业id不能为空")
+ private Integer companyId;
+
+ @ApiModelProperty("名称")
+ @TableField("name")
+ @NotBlank(message = "名称不能为空")
+ private String name;
+
+ @ApiModelProperty("年")
+ @TableField("year")
+ @NotBlank(message = "年不能为空")
+ private String year;
+
+ @ApiModelProperty("编码")
+ @TableField("number")
+ @NotBlank(message = "编码不能为空")
+ private String number;
+
+ @ApiModelProperty("核准人id")
+ @TableField("approval_id")
+ @NotNull(message = "核准人id不能为空")
+ private Long approvalId;
+
+ @ApiModelProperty("核准人")
+ @TableField("approval_name")
+ @NotBlank(message = "核准人不能为空")
+ private String approvalName;
+
+ @ApiModelProperty("审核")
+ @TableField("process_id")
+ @NotNull(message = "审核不能为空")
+ private Long processId;
+
+ @ApiModelProperty("审核人")
+ @TableField("process_name")
+ @NotBlank(message = "审核人不能为空")
+ private String processName;
+
+ @ApiModelProperty("做成")
+ @TableField("finish_id")
+ @NotNull(message = "做成不能为空")
+ private Long finishId;
+
+ @ApiModelProperty("做成人")
+ @TableField("finish_name")
+ @NotBlank(message = "做成人不能为空")
+ private String finishName;
+
+ @ApiModelProperty("删除标志(0为删除,1删除,默认0)")
+ @TableField("del_flag")
+ private Integer delFlag;
+
+ @ApiModelProperty("创建时间")
+ @TableField("create_time")
+ private LocalDateTime createTime;
+
+ @ApiModelProperty("创建人")
+ @TableField("create_by")
+ private String createBy;
+
+ @ApiModelProperty("更新时间")
+ @TableField("update_time")
+ private LocalDateTime updateTime;
+
+ @ApiModelProperty("更新人")
+ @TableField("update_by")
+ private String updateBy;
+
+ @ApiModelProperty("乐观锁")
+ @TableField("version")
+ private Integer version;
+
+
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/domain/AnnualMaintenanceDevice.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/AnnualMaintenanceDevice.java
new file mode 100644
index 0000000..e9f9af9
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/AnnualMaintenanceDevice.java
@@ -0,0 +1,95 @@
+package com.gkhy.exam.system.domain;
+
+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 java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.List;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * <p>
+ * 年度基础设施维护计划设备表
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-31 16:12:02
+ */
+@Getter
+@Setter
+@TableName("annual_maintenance_device")
+@ApiModel(value = "AnnualMaintenanceDevice对象", description = "年度基础设施维护计划设备表")
+public class AnnualMaintenanceDevice implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+ @TableField("annual_maintenance_id")
+ @ApiModelProperty("年度基础设施维护计划id")
+ @NotNull(message = "年度基础设施维护计划id不能为空")
+ private Long annualMaintenanceId;
+
+ @ApiModelProperty("设备名称")
+ @TableField("device_name")
+ @NotBlank(message = "设备名称不能为空")
+ private String deviceName;
+
+ @ApiModelProperty("型号")
+ @TableField("model")
+ @NotBlank(message = "型号不能为空")
+ private String model;
+
+ @ApiModelProperty("厂内编号")
+ @TableField("factory_number")
+ @NotBlank(message = "厂内编号不能为空")
+ private String factoryNumber;
+
+ @ApiModelProperty("用途")
+ @TableField("purpose")
+ @NotBlank(message = "用途不能为空")
+ private String purpose;
+
+ @ApiModelProperty("部门")
+ @TableField("dept_name")
+ @NotBlank(message = "部门不能为空")
+ private String deptName;
+
+ @ApiModelProperty("删除标志(0为删除,1删除,默认0)")
+ @TableField("del_flag")
+ private Integer delFlag;
+
+ @ApiModelProperty("创建时间")
+ @TableField("create_time")
+ private LocalDateTime createTime;
+
+ @ApiModelProperty("创建人")
+ @TableField("create_by")
+ private String createBy;
+
+ @ApiModelProperty("更新时间")
+ @TableField("update_time")
+ private LocalDateTime updateTime;
+
+ @ApiModelProperty("更新人")
+ @TableField("update_by")
+ private String updateBy;
+
+ @ApiModelProperty("乐观锁")
+ @TableField("version")
+ private Integer version;
+
+ @TableField(exist = false)
+ @ApiModelProperty("年度基础设施维护计划设备类型数据表")
+ private List<AnnualMaintenanceDeviceType> annualMaintenanceDeviceTypeList;
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/domain/AnnualMaintenanceDeviceType.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/AnnualMaintenanceDeviceType.java
new file mode 100644
index 0000000..8257478
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/AnnualMaintenanceDeviceType.java
@@ -0,0 +1,118 @@
+package com.gkhy.exam.system.domain;
+
+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 java.io.Serializable;
+import java.time.LocalDateTime;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * <p>
+ * 年度基础设施维护计划设备数据表
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-31 16:12:02
+ */
+@Getter
+@Setter
+@TableName("annual_maintenance_device_type")
+@ApiModel(value = "AnnualMaintenanceDeviceType对象", description = "年度基础设施维护计划设备数据表")
+public class AnnualMaintenanceDeviceType implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+ @ApiModelProperty("维护设备表")
+ @TableField("annual_maintenance_device_id")
+ private Long annualMaintenanceDeviceId;
+
+ @ApiModelProperty("项目类型1、日常类型检点2、一级保养3、二级保养")
+ @TableField("project_type")
+ @NotNull(message = "项目类型不能为空")
+ private Integer projectType;
+
+ @ApiModelProperty("频率1、工作日2、1次/3个月、1次/6个月")
+ @TableField("frequency")
+ @NotNull(message = "频率不能为空")
+ private Integer frequency;
+
+ @ApiModelProperty("1月")
+ @TableField("jan")
+ private String jan;
+
+ @ApiModelProperty("2月")
+ @TableField("feb")
+ private String feb;
+
+ @ApiModelProperty("3月")
+ @TableField("mar")
+ private String mar;
+
+ @ApiModelProperty("4月")
+ @TableField("apr")
+ private String apr;
+
+ @ApiModelProperty("5月")
+ @TableField("may")
+ private String may;
+
+ @ApiModelProperty("6月")
+ @TableField("jun")
+ private String jun;
+
+ @ApiModelProperty("7月")
+ @TableField("jul")
+ private String jul;
+
+ @ApiModelProperty("8月")
+ @TableField("aug")
+ private String aug;
+
+ @ApiModelProperty("9月")
+ @TableField("sep")
+ private String sep;
+
+ @ApiModelProperty("10月")
+ @TableField("oct")
+ private String oct;
+
+ @ApiModelProperty("11月")
+ @TableField("nov")
+ private String nov;
+
+ @ApiModelProperty("12月")
+ @TableField("dec")
+ private String dec;
+
+ @ApiModelProperty("删除标志(0为删除,1删除,默认0)")
+ @TableField("del_flag")
+ private Integer delFlag;
+
+ @ApiModelProperty("创建时间")
+ @TableField("create_time")
+ private LocalDateTime createTime;
+
+ @ApiModelProperty("创建人")
+ @TableField("create_by")
+ private String createBy;
+
+ @ApiModelProperty("更新时间")
+ @TableField("update_time")
+ private LocalDateTime updateTime;
+
+ @ApiModelProperty("更新人")
+ @TableField("update_by")
+ private String updateBy;
+
+
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/domain/AnnualMaintenanceEvaluate.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/AnnualMaintenanceEvaluate.java
new file mode 100644
index 0000000..89804a8
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/AnnualMaintenanceEvaluate.java
@@ -0,0 +1,132 @@
+package com.gkhy.exam.system.domain;
+
+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 java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.List;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+
+/**
+ * <p>
+ * 设备完好评价记录及完整率统计
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-31 16:12:02
+ */
+@Getter
+@Setter
+@TableName("annual_maintenance_evaluate")
+@ApiModel(value = "AnnualMaintenanceEvaluate对象", description = "设备完好评价记录及完整率统计")
+public class AnnualMaintenanceEvaluate implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+ @ApiModelProperty(value = "企业id",required = true)
+ @TableField("company_id")
+ @NotNull(message = "企业id不能为空")
+ private Integer companyId;
+
+ @ApiModelProperty(value ="名称",required = true)
+ @TableField("name")
+ @NotBlank(message = "名称不能为空")
+ private String name;
+
+ @ApiModelProperty(value ="制定日期",required = true)
+ @TableField("enactment_date")
+ @NotNull(message = "制定日期不能为空")
+ private LocalDateTime enactmentDate;
+
+ @ApiModelProperty(value ="修订日期",required = true)
+ @TableField("revision_date")
+ @NotNull(message = "修订日期不能为空")
+ private LocalDateTime revisionDate;
+
+ @ApiModelProperty(value ="编码" ,required = true)
+ @TableField("number")
+ @NotBlank(message = "编码不能为空")
+ private String number;
+
+ @ApiModelProperty(value ="批准人id",required = true)
+ @TableField("approval_id")
+ @NotNull(message = "批准人id不能为空")
+ private Long approvalId;
+
+ @ApiModelProperty(value ="批准人",required = true)
+ @TableField("approval_name")
+ @NotBlank(message = "批准人不能为空")
+ private String approvalName;
+
+ @ApiModelProperty(value ="审核",required = true)
+ @TableField("process_id")
+ @NotNull(message = "审核不能为空")
+ private Long processId;
+
+ @ApiModelProperty(value = "审核人",required = true)
+ @TableField("process_name")
+ @NotBlank(message = "审核不能为空")
+ private String processName;
+
+ @ApiModelProperty(value ="编制")
+ @TableField("establishment_id")
+ @NotNull(message = "编制不能为空")
+ private Long establishmentId;
+
+ @ApiModelProperty(value ="编制人",required = true)
+ @TableField("establishment_name")
+ @NotBlank(message = "编制不能为空")
+ private String establishmentName;
+
+ @ApiModelProperty("删除标志(0为删除,1删除,默认0)")
+ @TableField("del_flag")
+ private Integer delFlag;
+
+ @ApiModelProperty("创建时间")
+ @TableField("create_time")
+ private LocalDateTime createTime;
+
+ @ApiModelProperty("创建人")
+ @TableField("create_by")
+ private String createBy;
+
+ @ApiModelProperty("更新时间")
+ @TableField("update_time")
+ private LocalDateTime updateTime;
+
+ @ApiModelProperty("更新人")
+ @TableField("update_by")
+ private String updateBy;
+
+ @ApiModelProperty("乐观锁")
+ @TableField("version")
+ private Integer version;
+
+ @TableField(exist = false)
+ @ApiModelProperty(value = "设备列表",required = true)
+ @NotEmpty(message = "设备列表不能为空")
+ private List<AnnualMaintenanceEvaluateDevice> annualMaintenanceEvaluateDeviceList;
+
+ @TableField(exist = false)
+ @ApiModelProperty(value = "删除的设备列表")
+ private List<Long> evaluateDeviceIds;
+
+ @TableField(exist = false)
+ @ApiModelProperty(value = "企业名称")
+ private String companyName;
+
+
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/domain/AnnualMaintenanceEvaluateDevice.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/AnnualMaintenanceEvaluateDevice.java
new file mode 100644
index 0000000..7a5d614
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/AnnualMaintenanceEvaluateDevice.java
@@ -0,0 +1,103 @@
+package com.gkhy.exam.system.domain;
+
+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 java.io.Serializable;
+import java.time.LocalDateTime;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * <p>
+ * 设备完好评价记录及完整率统计设备表
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-31 16:12:02
+ */
+@Getter
+@Setter
+@TableName("annual_maintenance_evaluate_device")
+@ApiModel(value = "AnnualMaintenanceEvaluateDevice对象", description = "设备完好评价记录及完整率统计设备表")
+public class AnnualMaintenanceEvaluateDevice implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+ @TableField("annual_maintenance_evaluate_id")
+ private Long annualMaintenanceEvaluateId;
+
+ @TableField("device_number")
+ @ApiModelProperty(value ="设备编号",required = true)
+ @NotBlank(message = "设备编号不能为空")
+ private String deviceNumber;
+
+ @ApiModelProperty(value ="设备名称",required = true)
+ @TableField("device_name")
+ @NotBlank(message = "设备名称不能为空")
+ private String deviceName;
+
+ @ApiModelProperty(value ="型号",required = true)
+ @TableField("model")
+ @NotBlank(message = "型号不能为空")
+ private String model;
+
+ @ApiModelProperty(value ="地点",required = true)
+ @TableField("location")
+ @NotBlank(message = "地点不能为空")
+ private String location;
+
+ @ApiModelProperty(value ="用途",required = true)
+ @TableField("purpose")
+ @NotBlank(message = "用途不能为空")
+ private String purpose;
+
+ @ApiModelProperty(value ="使用人",required = true)
+ @TableField("use_user")
+ @NotBlank(message = "使用人不能为空")
+ private String useUser;
+
+ @ApiModelProperty(value ="部门",required = true)
+ @TableField("dept_name")
+ @NotBlank(message = "部门不能为空")
+ private String deptName;
+
+ @ApiModelProperty(value ="结果1、完好2、需整改3、报废",required = true)
+ @TableField("result_type")
+ @NotBlank(message = "结果不能为空")
+ private Integer resultType;
+
+ @ApiModelProperty("删除标志(0为删除,1删除,默认0)")
+ @TableField("del_flag")
+ private Integer delFlag;
+
+ @ApiModelProperty("创建时间")
+ @TableField("create_time")
+ private LocalDateTime createTime;
+
+ @ApiModelProperty("创建人")
+ @TableField("create_by")
+ private String createBy;
+
+ @ApiModelProperty("更新时间")
+ @TableField("update_time")
+ private LocalDateTime updateTime;
+
+ @ApiModelProperty("更新人")
+ @TableField("update_by")
+ private String updateBy;
+
+ @ApiModelProperty("乐观锁")
+ @TableField("version")
+ private Integer version;
+
+
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/domain/AnnualMaintenanceRecord.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/AnnualMaintenanceRecord.java
new file mode 100644
index 0000000..91fb688
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/AnnualMaintenanceRecord.java
@@ -0,0 +1,192 @@
+package com.gkhy.exam.system.domain;
+
+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 java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.util.List;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.NonNull;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+
+import static io.lettuce.core.GeoArgs.Unit.m;
+
+/**
+ * <p>
+ * 年度基础设施维护记录表
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-31 16:12:02
+ */
+@Getter
+@Setter
+@TableName("annual_maintenance_record")
+@ApiModel(value = "AnnualMaintenanceRecord对象", description = "年度基础设施维护记录表 ")
+public class AnnualMaintenanceRecord implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+ @ApiModelProperty(value = "企业id",required = true)
+ @TableField("company_id")
+ @NotNull(message = "企业id不能为空")
+ private Integer companyId;
+
+ @ApiModelProperty(value = "设备名称",required = true)
+ @TableField("device_name")
+ @NotBlank(message = "设备名称不能为空")
+ private String deviceName;
+
+ @ApiModelProperty(value = "编号",required = true)
+ @TableField("number")
+ @NotBlank(message = "编号不能为空")
+ private String number;
+
+ @ApiModelProperty(value = "故障发生日期",required = true)
+ @NotNull(message = "故障发生日期不能为空")
+ @TableField("fault_date")
+ private LocalDateTime faultDate;
+
+ @ApiModelProperty(value = "维修日期",required = true)
+ @TableField("repair_date")
+ @NotNull(message = "维修日期不能为空")
+ private LocalDateTime repairDate;
+
+ @ApiModelProperty(value = "主管",required = true)
+ @TableField("manager_id")
+ @NotNull(message = "主管不能为空")
+ private Long managerId;
+
+ @ApiModelProperty(value = "主管人",required = true)
+ @TableField("manager_name")
+ @NotBlank(message = "主管人不能为空")
+ private String managerName;
+
+ @ApiModelProperty(value = "故障原因及排除方法",required = true)
+ @TableField("fault_cause")
+ @NotBlank(message = "故障原因及排除方法不能为空")
+ private String faultCause;
+
+ @ApiModelProperty(value = "维修方式1内部2委外",required = true)
+ @TableField("maintenance_method")
+ @NotNull(message = "维修方式不能为空")
+ private Integer maintenanceMethod;
+
+ @ApiModelProperty("委外地点")
+ @TableField("outsourcing_location")
+ private String outsourcingLocation;
+
+ @ApiModelProperty("维修工时")
+ @TableField("repair_time")
+ private String repairTime;
+
+ @ApiModelProperty("停机时间")
+ @TableField("down_time")
+ private LocalDateTime downTime;
+
+ @ApiModelProperty("更换材料")
+ @TableField("replace_materials")
+ private String replaceMaterials;
+
+ @ApiModelProperty("金额")
+ @TableField("money")
+ private BigDecimal money;
+
+ @ApiModelProperty("设备科主管")
+ @TableField("device_manager_id")
+ private Long deviceManagerId;
+
+ @ApiModelProperty("设备科主管名称")
+ @TableField("device_manager_name")
+ private String deviceManagerName;
+
+ @ApiModelProperty("备注")
+ @TableField("remark")
+ private String remark;
+
+ @ApiModelProperty("部门验收确认")
+ @TableField("acceptance_confirmation")
+ private String acceptanceConfirmation;
+
+ @ApiModelProperty(value = "批准人id",required = true)
+ @TableField("approval_id")
+ @NotNull(message = "批准人不能为空")
+ private Long approvalId;
+
+ @ApiModelProperty(value = "批准人",required = true)
+ @TableField("approval_name")
+ @NotBlank(message = "批准人不能为空")
+ private String approvalName;
+
+ @ApiModelProperty(value = "审核",required = true)
+ @TableField("process_id")
+ @NotNull(message = "审核不能为空")
+ private Long processId;
+
+ @ApiModelProperty(value = "审核人",required = true)
+ @TableField("process_name")
+ @NotBlank(message = "审核人不能为空")
+ private String processName;
+
+ @ApiModelProperty(value = "编制",required = true)
+ @TableField("establishment_id")
+ @NotNull(message = "编制不能为空")
+ private Long establishmentId;
+
+ @ApiModelProperty(value = "编制人",required = true)
+ @TableField("establishment_name")
+ @NotBlank(message = "编制人不能为空")
+ private String establishmentName;
+
+ @ApiModelProperty("删除标志(0为删除,1删除,默认0)")
+ @TableField("del_flag")
+ private Integer delFlag;
+
+ @ApiModelProperty("创建时间")
+ @TableField("create_time")
+ private LocalDateTime createTime;
+
+ @ApiModelProperty("创建人")
+ @TableField("create_by")
+ private String createBy;
+
+ @ApiModelProperty("更新时间")
+ @TableField("update_time")
+ private LocalDateTime updateTime;
+
+ @ApiModelProperty("更新人")
+ @TableField("update_by")
+ private String updateBy;
+
+ @ApiModelProperty("乐观锁")
+ @TableField("version")
+ private Integer version;
+
+ @ApiModelProperty("设施操作/管理员列表拼接返回")
+ @TableField(exist = false)
+ private String manageName;
+
+ @ApiModelProperty("设施操作/管理员,维修人员数组")
+ @TableField(exist = false)
+ @NotEmpty(message = "设施操作/管理员,维修人员数组不能为空")
+ private List<AnnualMaintenanceRecordUser> annualMaintenanceRecordUsers;
+
+ @ApiModelProperty("设施操作/管理员,维修人员删除数组")
+ @TableField(exist = false)
+ private List<Long> delRecordUserIds;
+
+
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/domain/AnnualMaintenanceRecordUser.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/AnnualMaintenanceRecordUser.java
new file mode 100644
index 0000000..8873d17
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/AnnualMaintenanceRecordUser.java
@@ -0,0 +1,80 @@
+package com.gkhy.exam.system.domain;
+
+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 java.io.Serializable;
+import java.time.LocalDateTime;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * <p>
+ * 年度基础设施维护记录人员表
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-31 16:12:02
+ */
+@Getter
+@Setter
+@TableName("annual_maintenance_record_user")
+@ApiModel(value = "AnnualMaintenanceRecordUser对象", description = "年度基础设施维护记录人员表 ")
+public class AnnualMaintenanceRecordUser implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+ @ApiModelProperty("设备维护记录id")
+ @TableField("annual_maintenance_record_id")
+ private Long annualMaintenanceRecordId;
+
+ @ApiModelProperty(value ="人员类型1、设施操作人员2、维修人员",required = true)
+ @TableField("user_type")
+ @NotNull(message = "人员类型不能为空")
+ private Integer userType;
+
+ @ApiModelProperty(value ="人员id",required = true)
+ @TableField("user_id")
+ @NotNull(message = "人员id不能为空")
+ private Long userId;
+
+ @ApiModelProperty(value = "名称",required = true)
+ @TableField("user_name")
+ @NotBlank(message = "名称不能为空")
+ private String userName;
+
+ @ApiModelProperty("删除标志(0为删除,1删除,默认0)")
+ @TableField("del_flag")
+ private Integer delFlag;
+
+ @ApiModelProperty("创建时间")
+ @TableField("create_time")
+ private LocalDateTime createTime;
+
+ @ApiModelProperty("创建人")
+ @TableField("create_by")
+ private String createBy;
+
+ @ApiModelProperty("更新时间")
+ @TableField("update_time")
+ private LocalDateTime updateTime;
+
+ @ApiModelProperty("更新人")
+ @TableField("update_by")
+ private String updateBy;
+
+ @ApiModelProperty("乐观锁")
+ @TableField("version")
+ private Integer version;
+
+
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/domain/AnnualMaintenanceService.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/AnnualMaintenanceService.java
new file mode 100644
index 0000000..7dbda24
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/AnnualMaintenanceService.java
@@ -0,0 +1,100 @@
+package com.gkhy.exam.system.domain;
+
+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 java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.List;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import javafx.beans.property.ListProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * <p>
+ * 年度基础设施维护保养表
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-31 16:12:02
+ */
+@Getter
+@Setter
+@TableName("annual_maintenance_service")
+@ApiModel(value = "AnnualMaintenanceService对象", description = "年度基础设施维护保养表 ")
+public class AnnualMaintenanceService implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+ @ApiModelProperty(value = "企业id", required = true)
+ @TableField("company_id")
+ @NotNull(message = "企业id不能为空")
+ private Integer companyId;
+
+ @ApiModelProperty(value ="设备名称", required = true)
+ @TableField("device_name")
+ @NotBlank(message = "设备名称不能为空")
+ private String deviceName;
+
+ @ApiModelProperty(value ="设备编号", required = true)
+ @TableField("device_number")
+ @NotBlank(message = "设备编号不能为空")
+ private String deviceNumber;
+
+ @ApiModelProperty(value ="编号", required = true)
+ @TableField("number")
+ @NotBlank(message = "编号不能为空")
+ private String number;
+
+ @ApiModelProperty("保养结论")
+ @TableField("conclusion")
+ private String conclusion;
+
+ @ApiModelProperty("删除标志(0为删除,1删除,默认0)")
+ @TableField("del_flag")
+ private Integer delFlag;
+
+ @ApiModelProperty("创建时间")
+ @TableField("create_time")
+ private LocalDateTime createTime;
+
+ @ApiModelProperty("创建人")
+ @TableField("create_by")
+ private String createBy;
+
+ @ApiModelProperty("更新时间")
+ @TableField("update_time")
+ private LocalDateTime updateTime;
+
+ @ApiModelProperty("更新人")
+ @TableField("update_by")
+ private String updateBy;
+
+ @ApiModelProperty("乐观锁")
+ @TableField("version")
+ private Integer version;
+
+ @TableField(exist = false)
+ @ApiModelProperty(value = "年度基础设施维护保养内容表",required = true)
+ private List<AnnualMaintenanceServiceContent> annualMaintenanceServiceContentList;
+
+ @TableField(exist = false)
+ @ApiModelProperty(value = "年度基础设施人员表",required = true)
+ private List<AnnualMaintenanceServiceUser> annualMaintenanceServiceUserList;
+
+ @TableField(exist = false)
+ @ApiModelProperty(value = "删除的保养人员id")
+ private List<Long> delServiceUserIds;
+
+
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/domain/AnnualMaintenanceServiceContent.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/AnnualMaintenanceServiceContent.java
new file mode 100644
index 0000000..c1159a7
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/AnnualMaintenanceServiceContent.java
@@ -0,0 +1,74 @@
+package com.gkhy.exam.system.domain;
+
+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 java.io.Serializable;
+import java.time.LocalDateTime;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 年度基础设施维护保养内容表
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-31 16:12:02
+ */
+@Getter
+@Setter
+@TableName("annual_maintenance_service_content")
+@ApiModel(value = "AnnualMaintenanceServiceContent对象", description = "年度基础设施维护保养内容表 ")
+public class AnnualMaintenanceServiceContent implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+ @ApiModelProperty("设备维护保养id")
+ @TableField("annual_maintenance_service_id")
+ private Long annualMaintenanceServiceId;
+
+ @ApiModelProperty("内容编码1-8")
+ @TableField("service_type")
+ private Integer serviceType;
+
+ @ApiModelProperty("结论")
+ @TableField("conclusion")
+ private String conclusion;
+
+ @ApiModelProperty("整改措施")
+ @TableField("rectification_measures")
+ private String rectificationMeasures;
+
+ @ApiModelProperty("删除标志(0为删除,1删除,默认0)")
+ @TableField("del_flag")
+ private Integer delFlag;
+
+ @ApiModelProperty("创建时间")
+ @TableField("create_time")
+ private LocalDateTime createTime;
+
+ @ApiModelProperty("创建人")
+ @TableField("create_by")
+ private String createBy;
+
+ @ApiModelProperty("更新时间")
+ @TableField("update_time")
+ private LocalDateTime updateTime;
+
+ @ApiModelProperty("更新人")
+ @TableField("update_by")
+ private String updateBy;
+
+ @ApiModelProperty("乐观锁")
+ @TableField("version")
+ private Integer version;
+
+
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/domain/AnnualMaintenanceServiceUser.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/AnnualMaintenanceServiceUser.java
new file mode 100644
index 0000000..2d98838
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/AnnualMaintenanceServiceUser.java
@@ -0,0 +1,85 @@
+package com.gkhy.exam.system.domain;
+
+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 java.io.Serializable;
+import java.time.LocalDateTime;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * <p>
+ * 年度基础设施维护保养人员表
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-31 16:12:02
+ */
+@Getter
+@Setter
+@TableName("annual_maintenance_service_user")
+@ApiModel(value = "AnnualMaintenanceServiceUser对象", description = "年度基础设施维护保养人员表 ")
+public class AnnualMaintenanceServiceUser implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+ @ApiModelProperty("设备维护保养id")
+ @TableField("annual_maintenance_service_id")
+ private Long annualMaintenanceServiceId;
+
+ @ApiModelProperty(value = "人员类型1、一级保养操作人员2、一级保养检查人员3、二级保养操作人员4、二级保养检查人员",required = true)
+ @TableField("user_type")
+ @NotNull(message = "人员类型不能为空")
+ private Integer userType;
+
+ @ApiModelProperty(value = "人员id", required = true)
+ @TableField("user_id")
+ @NotNull(message = "人员id不能为空")
+ private Long userId;
+
+ @ApiModelProperty(value = "名称",required = true)
+ @TableField("user_name")
+ @NotBlank(message = "名称不能为空")
+ private String userName;
+
+ @ApiModelProperty(value = "日期",required = true)
+ @TableField("check_date")
+ @NotNull(message = "日期不能为空")
+ private LocalDateTime checkDate;
+
+ @ApiModelProperty("删除标志(0为删除,1删除,默认0)")
+ @TableField("del_flag")
+ private Integer delFlag;
+
+ @ApiModelProperty("创建时间")
+ @TableField("create_time")
+ private LocalDateTime createTime;
+
+ @ApiModelProperty("创建人")
+ @TableField("create_by")
+ private String createBy;
+
+ @ApiModelProperty("更新时间")
+ @TableField("update_time")
+ private LocalDateTime updateTime;
+
+ @ApiModelProperty("更新人")
+ @TableField("update_by")
+ private String updateBy;
+
+ @ApiModelProperty("乐观锁")
+ @TableField("version")
+ private Integer version;
+
+
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/domain/StandingBook.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/StandingBook.java
new file mode 100644
index 0000000..33503e7
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/StandingBook.java
@@ -0,0 +1,123 @@
+package com.gkhy.exam.system.domain;
+
+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 java.io.Serializable;
+import java.time.LocalDateTime;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * <p>
+ * 台账
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-31 16:12:02
+ */
+@Getter
+@Setter
+@TableName("standing_book")
+@ApiModel(value = "StandingBook对象", description = "台账")
+public class StandingBook implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+ @ApiModelProperty("企业")
+ @TableField("company_id")
+ @NotNull(message = "企业不能为空")
+ private Long companyId;
+
+ @ApiModelProperty("部门id")
+ @TableField("dept_id")
+ @NotNull(message = "部门id不能为空")
+ private Long deptId;
+
+ @ApiModelProperty("部门")
+ @TableField(exist = false)
+ private String deptName;
+
+ @ApiModelProperty("名称型号")
+ @TableField("model")
+ @NotBlank(message = "名称型号不能为空")
+ private String model;
+
+ @ApiModelProperty("责任人/使用人")
+ @TableField("person_responsible")
+ @NotBlank(message = "责任人/使用人不能为空")
+ private Long personResponsible;
+
+ @ApiModelProperty("设备类型1生成设备2办公自动化设备")
+ @TableField("device_type")
+ @NotNull(message = "设备类型不能为空")
+ private Integer deviceType;
+
+ @ApiModelProperty("编号")
+ @TableField("number")
+ @NotBlank(message = "编号不能为空")
+ private String number;
+
+ @ApiModelProperty("品牌")
+ @TableField("brand")
+ private String brand;
+
+ @ApiModelProperty("密级/类型")
+ @TableField("confidentiality")
+ private String confidentiality;
+
+ @ApiModelProperty("状态1.完好2损坏")
+ @TableField("status")
+ private Integer status;
+
+ @ApiModelProperty("用途")
+ @TableField("purpose")
+ private String purpose;
+
+ @ApiModelProperty("使用地点")
+ @TableField("location")
+ private String location;
+
+ @ApiModelProperty("使用情况")
+ @TableField("usage")
+ private String usage;
+
+ @ApiModelProperty("备注")
+ @TableField("remark")
+ private String remark;
+
+ @ApiModelProperty("删除标志(0为删除,1删除,默认0)")
+ @TableField("del_flag")
+ private Integer delFlag;
+
+ @ApiModelProperty("创建时间")
+ @TableField("create_time")
+ private LocalDateTime createTime;
+
+ @ApiModelProperty("创建人")
+ @TableField("create_by")
+ private String createBy;
+
+ @ApiModelProperty("更新时间")
+ @TableField("update_time")
+ private LocalDateTime updateTime;
+
+ @ApiModelProperty("更新人")
+ @TableField("update_by")
+ private String updateBy;
+
+ @ApiModelProperty("乐观锁")
+ @TableField("version")
+ private Integer version;
+
+
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/domain/vo/AnnualMaintenanceDeviceSaveDTOReq.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/vo/AnnualMaintenanceDeviceSaveDTOReq.java
new file mode 100644
index 0000000..f1b5c65
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/vo/AnnualMaintenanceDeviceSaveDTOReq.java
@@ -0,0 +1,51 @@
+package com.gkhy.exam.system.domain.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.gkhy.exam.system.domain.AnnualMaintenanceDeviceType;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+@Data
+@ApiModel(value = "年度基础设施维护计划设备保存参数")
+public class AnnualMaintenanceDeviceSaveDTOReq {
+
+ @ApiModelProperty(value ="编辑数据id",required = false)
+ private Long id;
+
+ @ApiModelProperty(value = "年度基础设施维护计划id",required = false)
+ private Long annualMaintenanceId;
+
+ @ApiModelProperty("设备名称")
+ @NotBlank(message = "设备名称不能为空")
+ private String deviceName;
+
+ @ApiModelProperty("型号")
+ @NotBlank(message = "型号不能为空")
+ private String model;
+
+ @ApiModelProperty("厂内编号")
+ @NotBlank(message = "厂内编号不能为空")
+ private String factoryNumber;
+
+ @ApiModelProperty("用途")
+ @NotBlank(message = "用途不能为空")
+ private String purpose;
+
+ @ApiModelProperty("部门")
+ @NotBlank(message = "部门不能为空")
+ private String deptName;
+
+ @ApiModelProperty("删除的数据类型id数组")
+ private List<Long> delDeviceTypeIds;
+
+ @ApiModelProperty("年度基础设施维护计划设备类型数据保存参数")
+ private List<AnnualMaintenanceDeviceType> annualMaintenanceDeviceTypes;
+
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/domain/vo/AnnualMaintenanceInfoRep.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/vo/AnnualMaintenanceInfoRep.java
new file mode 100644
index 0000000..b300d50
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/vo/AnnualMaintenanceInfoRep.java
@@ -0,0 +1,16 @@
+package com.gkhy.exam.system.domain.vo;
+
+import com.gkhy.exam.system.domain.AnnualMaintenance;
+import com.gkhy.exam.system.domain.AnnualMaintenanceDevice;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+@ApiModel(value = "年度基础设施维护计划信息详情")
+public class AnnualMaintenanceInfoRep extends AnnualMaintenance {
+
+
+ private List<AnnualMaintenanceDevice> annualMaintenanceDeviceList;
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/domain/vo/AnnualMaintenanceSaveDTOReq.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/vo/AnnualMaintenanceSaveDTOReq.java
new file mode 100644
index 0000000..24ec8ec
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/vo/AnnualMaintenanceSaveDTOReq.java
@@ -0,0 +1,70 @@
+package com.gkhy.exam.system.domain.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+@ApiModel(value = "年度基础设施维护计划保存参数")
+public class AnnualMaintenanceSaveDTOReq implements Serializable {
+ private static final long serialVersionUID = 1L;
+ @ApiModelProperty("编辑数据id")
+ private Long id;
+
+ @ApiModelProperty("企业id")
+ @NotNull(message = "企业id不能为空")
+ private Integer companyId;
+
+ @ApiModelProperty(value ="名称",required = true)
+ @NotBlank(message = "名称不能为空")
+ private String name;
+
+ @ApiModelProperty(value = "年",required = true)
+ @NotBlank(message = "年不能为空")
+ private String year;
+
+ @ApiModelProperty(value ="编码",required = true)
+ @NotBlank(message = "编码不能为空")
+ private String number;
+
+ @ApiModelProperty(value ="核准人id",required = true)
+ @NotNull(message = "核准人id不能为空")
+ private Long approvalId;
+
+ @ApiModelProperty(value ="核准人",required = true)
+ @NotBlank(message = "核准人不能为空")
+ private String approvalName;
+
+ @ApiModelProperty(value ="审核",required = true)
+ @NotNull(message = "审核不能为空")
+ private Long processId;
+
+ @ApiModelProperty(value ="审核人",required = true)
+ @NotBlank(message = "审核人不能为空")
+ private String processName;
+
+ @ApiModelProperty(value ="做成",required = true)
+ @NotNull(message = "做成不能为空")
+ private Long finishId;
+
+ @ApiModelProperty(value ="做成人",required = true)
+ @NotBlank(message = "做成人不能为空")
+ private String finishName;
+
+ @ApiModelProperty("删除的设备数据id数组")
+ private List<Long> delDeviceIds;
+
+ @ApiModelProperty(value ="年度基础设施维护计划设备保存参数",required = true)
+ @NotEmpty(message = "年度基础设施维护计划设备保存参数不能为空")
+ private List<AnnualMaintenanceDeviceSaveDTOReq> annualMaintenanceDeviceSaveDTOReqs;
+
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/mapper/AnnualMaintenanceDeviceMapper.java b/multi-system/src/main/java/com/gkhy/exam/system/mapper/AnnualMaintenanceDeviceMapper.java
new file mode 100644
index 0000000..7401600
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/mapper/AnnualMaintenanceDeviceMapper.java
@@ -0,0 +1,18 @@
+package com.gkhy.exam.system.mapper;
+
+import com.gkhy.exam.system.domain.AnnualMaintenanceDevice;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ * 年度基础设施维护计划设备表 Mapper 接口
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-31 16:12:02
+ */
+@Mapper
+public interface AnnualMaintenanceDeviceMapper extends BaseMapper<AnnualMaintenanceDevice> {
+
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/mapper/AnnualMaintenanceDeviceTypeMapper.java b/multi-system/src/main/java/com/gkhy/exam/system/mapper/AnnualMaintenanceDeviceTypeMapper.java
new file mode 100644
index 0000000..18ade2e
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/mapper/AnnualMaintenanceDeviceTypeMapper.java
@@ -0,0 +1,18 @@
+package com.gkhy.exam.system.mapper;
+
+import com.gkhy.exam.system.domain.AnnualMaintenanceDeviceType;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ * 年度基础设施维护计划设备数据表 Mapper 接口
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-31 16:12:02
+ */
+@Mapper
+public interface AnnualMaintenanceDeviceTypeMapper extends BaseMapper<AnnualMaintenanceDeviceType> {
+
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/mapper/AnnualMaintenanceEvaluateDeviceMapper.java b/multi-system/src/main/java/com/gkhy/exam/system/mapper/AnnualMaintenanceEvaluateDeviceMapper.java
new file mode 100644
index 0000000..79baa48
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/mapper/AnnualMaintenanceEvaluateDeviceMapper.java
@@ -0,0 +1,25 @@
+package com.gkhy.exam.system.mapper;
+
+import com.gkhy.exam.system.domain.AnnualMaintenanceEvaluateDevice;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gkhy.exam.system.domain.AnnualMaintenanceRecordUser;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 设备完好评价记录及完整率统计设备表 Mapper 接口
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-31 16:12:02
+ */
+@Mapper
+public interface AnnualMaintenanceEvaluateDeviceMapper extends BaseMapper<AnnualMaintenanceEvaluateDevice> {
+
+
+ int batchUpdate(List<AnnualMaintenanceEvaluateDevice> list);
+
+ int batchInsert(List<AnnualMaintenanceEvaluateDevice> list);
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/mapper/AnnualMaintenanceEvaluateMapper.java b/multi-system/src/main/java/com/gkhy/exam/system/mapper/AnnualMaintenanceEvaluateMapper.java
new file mode 100644
index 0000000..06a4f9e
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/mapper/AnnualMaintenanceEvaluateMapper.java
@@ -0,0 +1,21 @@
+package com.gkhy.exam.system.mapper;
+
+import com.gkhy.exam.system.domain.AnnualMaintenanceEvaluate;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 设备完好评价记录及完整率统计 Mapper 接口
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-31 16:12:02
+ */
+@Mapper
+public interface AnnualMaintenanceEvaluateMapper extends BaseMapper<AnnualMaintenanceEvaluate> {
+
+ List<AnnualMaintenanceEvaluate> getAnnualMaintenanceEvaluate(AnnualMaintenanceEvaluate annualMaintenanceEvaluate);
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/mapper/AnnualMaintenanceMapper.java b/multi-system/src/main/java/com/gkhy/exam/system/mapper/AnnualMaintenanceMapper.java
new file mode 100644
index 0000000..05e4330
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/mapper/AnnualMaintenanceMapper.java
@@ -0,0 +1,22 @@
+package com.gkhy.exam.system.mapper;
+
+import com.gkhy.exam.system.domain.AnnualMaintenance;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 年度基础设施维护计划主表 Mapper 接口
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-31 16:12:02
+ */
+@Mapper
+public interface AnnualMaintenanceMapper extends BaseMapper<AnnualMaintenance> {
+
+ List<AnnualMaintenance> getAnnualMaintenances(AnnualMaintenance annualMaintenance);
+
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/mapper/AnnualMaintenanceRecordMapper.java b/multi-system/src/main/java/com/gkhy/exam/system/mapper/AnnualMaintenanceRecordMapper.java
new file mode 100644
index 0000000..3981923
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/mapper/AnnualMaintenanceRecordMapper.java
@@ -0,0 +1,21 @@
+package com.gkhy.exam.system.mapper;
+
+import com.gkhy.exam.system.domain.AnnualMaintenanceRecord;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 年度基础设施维护记录表 Mapper 接口
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-31 16:12:02
+ */
+@Mapper
+public interface AnnualMaintenanceRecordMapper extends BaseMapper<AnnualMaintenanceRecord> {
+
+ List<AnnualMaintenanceRecord> getAnnualMaintenanceRecord(AnnualMaintenanceRecord annualMaintenanceRecord);
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/mapper/AnnualMaintenanceRecordUserMapper.java b/multi-system/src/main/java/com/gkhy/exam/system/mapper/AnnualMaintenanceRecordUserMapper.java
new file mode 100644
index 0000000..d42ad10
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/mapper/AnnualMaintenanceRecordUserMapper.java
@@ -0,0 +1,23 @@
+package com.gkhy.exam.system.mapper;
+
+import com.gkhy.exam.system.domain.AnnualMaintenanceRecordUser;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 年度基础设施维护记录人员表 Mapper 接口
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-31 16:12:02
+ */
+@Mapper
+public interface AnnualMaintenanceRecordUserMapper extends BaseMapper<AnnualMaintenanceRecordUser> {
+
+ int batchUpdate(List<AnnualMaintenanceRecordUser> list);
+
+ int batchInsert(List<AnnualMaintenanceRecordUser> list);
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/mapper/AnnualMaintenanceServiceContentMapper.java b/multi-system/src/main/java/com/gkhy/exam/system/mapper/AnnualMaintenanceServiceContentMapper.java
new file mode 100644
index 0000000..c95d3a5
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/mapper/AnnualMaintenanceServiceContentMapper.java
@@ -0,0 +1,23 @@
+package com.gkhy.exam.system.mapper;
+
+import com.gkhy.exam.system.domain.AnnualMaintenanceServiceContent;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gkhy.exam.system.domain.AnnualMaintenanceServiceUser;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 年度基础设施维护保养内容表 Mapper 接口
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-31 16:12:02
+ */
+@Mapper
+public interface AnnualMaintenanceServiceContentMapper extends BaseMapper<AnnualMaintenanceServiceContent> {
+ int batchInsert(List<AnnualMaintenanceServiceContent> list);
+
+ int batchUpdate(List<AnnualMaintenanceServiceContent> list);
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/mapper/AnnualMaintenanceServiceMapper.java b/multi-system/src/main/java/com/gkhy/exam/system/mapper/AnnualMaintenanceServiceMapper.java
new file mode 100644
index 0000000..19ba134
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/mapper/AnnualMaintenanceServiceMapper.java
@@ -0,0 +1,21 @@
+package com.gkhy.exam.system.mapper;
+
+import com.gkhy.exam.system.domain.AnnualMaintenanceService;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 年度基础设施维护保养表 Mapper 接口
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-31 16:12:02
+ */
+@Mapper
+public interface AnnualMaintenanceServiceMapper extends BaseMapper<AnnualMaintenanceService> {
+
+ List<AnnualMaintenanceService> selectAnnualMaintenanceServiceList(AnnualMaintenanceService annualMaintenanceService);
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/mapper/AnnualMaintenanceServiceUserMapper.java b/multi-system/src/main/java/com/gkhy/exam/system/mapper/AnnualMaintenanceServiceUserMapper.java
new file mode 100644
index 0000000..c0bef34
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/mapper/AnnualMaintenanceServiceUserMapper.java
@@ -0,0 +1,23 @@
+package com.gkhy.exam.system.mapper;
+
+import com.gkhy.exam.system.domain.AnnualMaintenanceServiceUser;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 年度基础设施维护保养人员表 Mapper 接口
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-31 16:12:02
+ */
+@Mapper
+public interface AnnualMaintenanceServiceUserMapper extends BaseMapper<AnnualMaintenanceServiceUser> {
+
+ int batchInsert(List<AnnualMaintenanceServiceUser> list);
+
+ int batchUpdate(List<AnnualMaintenanceServiceUser> list);
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/mapper/StandingBookMapper.java b/multi-system/src/main/java/com/gkhy/exam/system/mapper/StandingBookMapper.java
new file mode 100644
index 0000000..ee260d4
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/mapper/StandingBookMapper.java
@@ -0,0 +1,22 @@
+package com.gkhy.exam.system.mapper;
+
+import com.gkhy.exam.system.domain.StandingBook;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 台账 Mapper 接口
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-31 16:12:02
+ */
+@Mapper
+public interface StandingBookMapper extends BaseMapper<StandingBook> {
+
+ List<StandingBook> getStandingBooks(StandingBook standingBook);
+
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/AnnualMaintenanceEvaluateService.java b/multi-system/src/main/java/com/gkhy/exam/system/service/AnnualMaintenanceEvaluateService.java
new file mode 100644
index 0000000..2522eeb
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/AnnualMaintenanceEvaluateService.java
@@ -0,0 +1,27 @@
+package com.gkhy.exam.system.service;
+
+import com.gkhy.exam.common.api.CommonPage;
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.system.domain.AnnualMaintenanceEvaluate;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.exam.system.domain.AnnualMaintenanceRecord;
+
+/**
+ * <p>
+ * 设备完好评价记录及完整率统计 服务类
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-31 16:12:02
+ */
+public interface AnnualMaintenanceEvaluateService extends IService<AnnualMaintenanceEvaluate> {
+
+ CommonPage selectAnnualMaintenanceEvaluateList(AnnualMaintenanceEvaluate annualMaintenanceEvaluate);
+
+ CommonResult saveAnnualMaintenanceEvaluate(AnnualMaintenanceEvaluate annualMaintenanceEvaluate);
+
+ CommonResult getAnnualMaintenanceEvaluate(Integer id);
+
+ CommonResult deletedAnnualMaintenanceEvaluate(Integer id);
+
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/AnnualMaintenanceRecordService.java b/multi-system/src/main/java/com/gkhy/exam/system/service/AnnualMaintenanceRecordService.java
new file mode 100644
index 0000000..5f50f18
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/AnnualMaintenanceRecordService.java
@@ -0,0 +1,26 @@
+package com.gkhy.exam.system.service;
+
+import com.gkhy.exam.common.api.CommonPage;
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.system.domain.AnnualMaintenance;
+import com.gkhy.exam.system.domain.AnnualMaintenanceRecord;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.exam.system.domain.vo.AnnualMaintenanceSaveDTOReq;
+
+/**
+ * <p>
+ * 年度基础设施维护记录表 服务类
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-31 16:12:02
+ */
+public interface AnnualMaintenanceRecordService extends IService<AnnualMaintenanceRecord> {
+ CommonPage selectAnnualMaintenanceRecordList(AnnualMaintenanceRecord annualMaintenanceRecord);
+
+ CommonResult saveAnnualMaintenanceRecord(AnnualMaintenanceRecord annualMaintenanceRecord);
+
+ CommonResult getAnnualMaintenanceRecord(Integer id);
+
+ CommonResult deletedAnnualMaintenanceRecord(Integer id);
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/AnnualMaintenanceService.java b/multi-system/src/main/java/com/gkhy/exam/system/service/AnnualMaintenanceService.java
new file mode 100644
index 0000000..7d74c3d
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/AnnualMaintenanceService.java
@@ -0,0 +1,28 @@
+package com.gkhy.exam.system.service;
+
+import com.gkhy.exam.common.api.CommonPage;
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.system.domain.AnnualMaintenance;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.exam.system.domain.AnnualMaintenanceDevice;
+import com.gkhy.exam.system.domain.vo.AnnualMaintenanceSaveDTOReq;
+
+/**
+ * <p>
+ * 年度基础设施维护计划主表 服务类
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-31 16:12:02
+ */
+public interface AnnualMaintenanceService extends IService<AnnualMaintenance> {
+
+
+ CommonPage selectAnnualMaintenanceList(AnnualMaintenance annualMaintenance);
+
+ CommonResult saveAnnualMaintenance(AnnualMaintenanceSaveDTOReq annualMaintenanceSaveDTOReq);
+
+ CommonResult getAnnualMaintenance(Integer id);
+
+ CommonResult deletedAnnualMaintenance(Integer id);
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/AnnualMaintenanceServiceService.java b/multi-system/src/main/java/com/gkhy/exam/system/service/AnnualMaintenanceServiceService.java
new file mode 100644
index 0000000..eacbc76
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/AnnualMaintenanceServiceService.java
@@ -0,0 +1,25 @@
+package com.gkhy.exam.system.service;
+
+import com.gkhy.exam.common.api.CommonPage;
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.system.domain.AnnualMaintenanceEvaluate;
+import com.gkhy.exam.system.domain.AnnualMaintenanceService;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 年度基础设施维护保养表 服务类
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-31 16:12:02
+ */
+public interface AnnualMaintenanceServiceService extends IService<AnnualMaintenanceService> {
+ CommonPage selectAnnualMaintenanceServiceList(AnnualMaintenanceService annualMaintenanceService);
+
+ CommonResult saveAnnualMaintenanceService(AnnualMaintenanceService annualMaintenanceService);
+
+ CommonResult getAnnualMaintenanceService(Integer id);
+
+ CommonResult deletedAnnualMaintenanceService(Integer id);
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/StandingBookService.java b/multi-system/src/main/java/com/gkhy/exam/system/service/StandingBookService.java
new file mode 100644
index 0000000..00e0afa
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/StandingBookService.java
@@ -0,0 +1,25 @@
+package com.gkhy.exam.system.service;
+
+import com.gkhy.exam.common.api.CommonPage;
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.system.domain.Correction;
+import com.gkhy.exam.system.domain.StandingBook;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 台账 服务类
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-31 16:12:02
+ */
+public interface StandingBookService extends IService<StandingBook> {
+ CommonPage selectStandingBookList(StandingBook standingBook);
+
+ CommonResult insertStandingBook(StandingBook standingBook);
+
+ CommonResult updateStandingBook(StandingBook standingBook);
+
+ CommonResult deletedStandingBook(Integer id);
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/AnnualMaintenanceEvaluateServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/AnnualMaintenanceEvaluateServiceImpl.java
new file mode 100644
index 0000000..0515c09
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/AnnualMaintenanceEvaluateServiceImpl.java
@@ -0,0 +1,154 @@
+package com.gkhy.exam.system.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.gkhy.exam.common.api.CommonPage;
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.common.constant.UserConstant;
+import com.gkhy.exam.common.utils.PageUtils;
+import com.gkhy.exam.common.utils.SecurityUtils;
+import com.gkhy.exam.system.domain.AnnualMaintenanceEvaluate;
+import com.gkhy.exam.system.domain.AnnualMaintenanceEvaluateDevice;
+import com.gkhy.exam.system.domain.AnnualMaintenanceRecord;
+import com.gkhy.exam.system.mapper.AnnualMaintenanceEvaluateDeviceMapper;
+import com.gkhy.exam.system.mapper.AnnualMaintenanceEvaluateMapper;
+import com.gkhy.exam.system.service.AnnualMaintenanceEvaluateService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.time.LocalDateTime;
+import java.util.List;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+/**
+ * <p>
+ * 设备完好评价记录及完整率统计 服务实现类
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-31 16:12:02
+ */
+@Service
+public class AnnualMaintenanceEvaluateServiceImpl extends ServiceImpl<AnnualMaintenanceEvaluateMapper, AnnualMaintenanceEvaluate> implements AnnualMaintenanceEvaluateService {
+
+ @Autowired
+ private AnnualMaintenanceEvaluateMapper annualMaintenanceEvaluateMapper;
+
+ @Autowired
+ private AnnualMaintenanceEvaluateDeviceMapper annualMaintenanceEvaluateDeviceMapper;
+
+ @Override
+ public CommonPage selectAnnualMaintenanceEvaluateList(AnnualMaintenanceEvaluate annualMaintenanceEvaluate) {
+ PageUtils.startPage();
+ List<AnnualMaintenanceEvaluate> annualMaintenanceEvaluates = annualMaintenanceEvaluateMapper.getAnnualMaintenanceEvaluate(annualMaintenanceEvaluate);
+ return CommonPage.restPage(annualMaintenanceEvaluates);
+ }
+
+ @Override
+ @Transactional
+ public CommonResult saveAnnualMaintenanceEvaluate(AnnualMaintenanceEvaluate annualMaintenanceEvaluate) {
+ List<AnnualMaintenanceEvaluateDevice> annualMaintenanceEvaluateDeviceList = annualMaintenanceEvaluate.getAnnualMaintenanceEvaluateDeviceList();
+ if (ObjectUtils.isEmpty(annualMaintenanceEvaluateDeviceList)){
+ return CommonResult.failed("设备列表不能为空");
+ }
+ boolean isAdd = annualMaintenanceEvaluate.getId() == null;
+ int i = 0;
+ if (isAdd){
+ annualMaintenanceEvaluate.setCreateBy(SecurityUtils.getUsername());
+ annualMaintenanceEvaluate.setCreateTime(LocalDateTime.now());
+ i = annualMaintenanceEvaluateMapper.insert(annualMaintenanceEvaluate);
+ }else {
+ annualMaintenanceEvaluate.setUpdateBy(SecurityUtils.getUsername());
+ annualMaintenanceEvaluate.setUpdateTime(LocalDateTime.now());
+ i = annualMaintenanceEvaluateMapper.updateById(annualMaintenanceEvaluate);
+ }
+ if (i > 0){
+ batchSaveEvaluateDevice(annualMaintenanceEvaluate.getId(), annualMaintenanceEvaluateDeviceList, annualMaintenanceEvaluate.getEvaluateDeviceIds());
+ return CommonResult.success("保存成功");
+ }
+
+ return CommonResult.failed();
+ }
+
+ private void batchSaveEvaluateDevice(Long id, List<AnnualMaintenanceEvaluateDevice> annualMaintenanceEvaluateDeviceList,List<Long> evaluateDeviceIds)
+ {
+ if (ObjectUtils.isNotEmpty(evaluateDeviceIds)){
+ int update = annualMaintenanceEvaluateDeviceMapper.update(new AnnualMaintenanceEvaluateDevice(),
+ new LambdaUpdateWrapper<AnnualMaintenanceEvaluateDevice>().set(AnnualMaintenanceEvaluateDevice::getDelFlag, UserConstant.DEPT_DISABLE)
+ .set(AnnualMaintenanceEvaluateDevice::getUpdateTime, LocalDateTime.now()).set(AnnualMaintenanceEvaluateDevice::getUpdateBy, SecurityUtils.getUsername())
+ .in(AnnualMaintenanceEvaluateDevice::getId, evaluateDeviceIds)
+ );
+ if (update <= 0){
+ throw new RuntimeException("保存年度基础设施维护计划设备失败");
+ }
+ }
+
+ List<AnnualMaintenanceEvaluateDevice> addData = annualMaintenanceEvaluateDeviceList.stream().filter(annualMaintenanceEvaluateDevice -> annualMaintenanceEvaluateDevice.getId() == null).collect(Collectors.toList());
+ if (ObjectUtils.isNotEmpty(addData)){
+ addData.forEach(annualMaintenanceEvaluateDevice -> {
+ annualMaintenanceEvaluateDevice.setCreateTime(LocalDateTime.now());
+ annualMaintenanceEvaluateDevice.setCreateBy(SecurityUtils.getUsername());
+ annualMaintenanceEvaluateDevice.setAnnualMaintenanceEvaluateId(id);
+ });
+ int insert = annualMaintenanceEvaluateDeviceMapper.batchInsert(addData);
+ if (insert <= 0){
+ throw new RuntimeException("保存年度基础设施维护计划设备失败");
+ }
+ }
+
+ List<AnnualMaintenanceEvaluateDevice> updateData = annualMaintenanceEvaluateDeviceList.stream().filter(annualMaintenanceEvaluateDevice -> annualMaintenanceEvaluateDevice.getId() != null).collect(Collectors.toList());
+ if (ObjectUtils.isNotEmpty(updateData)){
+ updateData.forEach(annualMaintenanceEvaluateDevice -> {
+ annualMaintenanceEvaluateDevice.setUpdateTime(LocalDateTime.now());
+ annualMaintenanceEvaluateDevice.setUpdateBy(SecurityUtils.getUsername());
+ });
+ int update = annualMaintenanceEvaluateDeviceMapper.batchUpdate(updateData);
+ if (update <= 0){
+ throw new RuntimeException("保存年度基础设施维护计划设备失败");
+ }
+ }
+ }
+
+ @Override
+ public CommonResult getAnnualMaintenanceEvaluate(Integer id) {
+
+ AnnualMaintenanceEvaluate annualMaintenanceEvaluate = annualMaintenanceEvaluateMapper.selectById(id);
+ if (ObjectUtils.isNotEmpty(annualMaintenanceEvaluate)){
+
+ List<AnnualMaintenanceEvaluateDevice> annualMaintenanceEvaluateDeviceList = annualMaintenanceEvaluateDeviceMapper.selectList(
+ new LambdaQueryWrapper<AnnualMaintenanceEvaluateDevice>().eq(AnnualMaintenanceEvaluateDevice::getAnnualMaintenanceEvaluateId, id)
+ .eq(AnnualMaintenanceEvaluateDevice::getDelFlag, UserConstant.ENABLE).orderByAsc(AnnualMaintenanceEvaluateDevice::getCreateTime));
+ annualMaintenanceEvaluate.setAnnualMaintenanceEvaluateDeviceList(annualMaintenanceEvaluateDeviceList);
+ }
+
+ return CommonResult.success(annualMaintenanceEvaluate);
+ }
+
+ @Override
+ @Transactional
+ public CommonResult deletedAnnualMaintenanceEvaluate(Integer id) {
+
+ AnnualMaintenanceEvaluate annualMaintenanceEvaluate = new AnnualMaintenanceEvaluate();
+ annualMaintenanceEvaluate.setId(Long.valueOf( id));
+ annualMaintenanceEvaluate.setDelFlag(UserConstant.DEPT_DISABLE);
+ annualMaintenanceEvaluate.setUpdateBy(SecurityUtils.getUsername());
+ annualMaintenanceEvaluate.setUpdateTime(LocalDateTime.now());
+ int update = annualMaintenanceEvaluateMapper.updateById(annualMaintenanceEvaluate);
+ if (update > 0){
+ int update1 = annualMaintenanceEvaluateDeviceMapper.update(new AnnualMaintenanceEvaluateDevice(),
+ new LambdaUpdateWrapper<AnnualMaintenanceEvaluateDevice>().eq(AnnualMaintenanceEvaluateDevice::getAnnualMaintenanceEvaluateId, id)
+ .set(AnnualMaintenanceEvaluateDevice::getDelFlag, UserConstant.DEPT_DISABLE)
+ .set(AnnualMaintenanceEvaluateDevice::getUpdateTime, LocalDateTime.now())
+ .set(AnnualMaintenanceEvaluateDevice::getUpdateBy, SecurityUtils.getUsername()));
+ if (update1 <= 0){
+ throw new RuntimeException("删除年度基础设施维护计划设备失败");
+ }
+ return CommonResult.success("删除成功");
+ }
+ return CommonResult.failed();
+ }
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/AnnualMaintenanceRecordServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/AnnualMaintenanceRecordServiceImpl.java
new file mode 100644
index 0000000..4e5f56a
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/AnnualMaintenanceRecordServiceImpl.java
@@ -0,0 +1,193 @@
+package com.gkhy.exam.system.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.gkhy.exam.common.api.CommonPage;
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.common.constant.UserConstant;
+import com.gkhy.exam.common.utils.PageUtils;
+import com.gkhy.exam.common.utils.SecurityUtils;
+import com.gkhy.exam.system.domain.AnnualMaintenanceRecord;
+import com.gkhy.exam.system.domain.AnnualMaintenanceRecordUser;
+import com.gkhy.exam.system.mapper.AnnualMaintenanceRecordMapper;
+import com.gkhy.exam.system.mapper.AnnualMaintenanceRecordUserMapper;
+import com.gkhy.exam.system.service.AnnualMaintenanceRecordService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.time.LocalDateTime;
+import java.util.List;
+import java.util.Set;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ * 年度基础设施维护记录表 服务实现类
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-31 16:12:02
+ */
+@Service
+public class AnnualMaintenanceRecordServiceImpl extends ServiceImpl<AnnualMaintenanceRecordMapper, AnnualMaintenanceRecord> implements AnnualMaintenanceRecordService {
+
+ @Autowired
+ private AnnualMaintenanceRecordMapper annualMaintenanceRecordMapper;
+ @Autowired
+ private AnnualMaintenanceRecordUserMapper annualMaintenanceRecordUserMapper;
+
+ @Override
+ public CommonPage selectAnnualMaintenanceRecordList(AnnualMaintenanceRecord annualMaintenanceRecord) {
+ PageUtils.startPage();
+ List<AnnualMaintenanceRecord> annualMaintenanceRecords = annualMaintenanceRecordMapper.getAnnualMaintenanceRecord(annualMaintenanceRecord);
+ return CommonPage.restPage(annualMaintenanceRecords);
+ }
+
+ @Override
+ @Transactional
+ public CommonResult saveAnnualMaintenanceRecord(AnnualMaintenanceRecord annualMaintenanceRecord) {
+ List<AnnualMaintenanceRecordUser> annualMaintenanceRecordUsers = annualMaintenanceRecord.getAnnualMaintenanceRecordUsers();
+ if (ObjectUtils.isEmpty(annualMaintenanceRecordUsers)){
+ return CommonResult.failed("年度基础设施维护记录人员不能为空");
+ }
+ boolean isAdd = annualMaintenanceRecord.getId() == null;
+ int i = 0;
+ if (isAdd){
+ annualMaintenanceRecord.setCreateBy(SecurityUtils.getUsername());
+ annualMaintenanceRecord.setCreateTime(LocalDateTime.now());
+ i = annualMaintenanceRecordMapper.insert(annualMaintenanceRecord);
+ }else {
+ annualMaintenanceRecord.setUpdateBy(SecurityUtils.getUsername());
+ annualMaintenanceRecord.setUpdateTime(LocalDateTime.now());
+ i = annualMaintenanceRecordMapper.updateById(annualMaintenanceRecord);
+ }
+ if (i > 0){
+
+ return CommonResult.success();
+ }
+ return CommonResult.failed();
+ }
+ private void batchSaveRecordUser(boolean isAdd,Long annualMaintenanceRecordId, List<AnnualMaintenanceRecordUser> annualMaintenanceRecordUsers,List<Long> delRecordUserIds) {
+ List<AnnualMaintenanceRecordUser> filteredUsers = annualMaintenanceRecordUsers.stream()
+ .filter(user -> 1 == user.getUserType())
+ .collect(Collectors.toList());
+ Set<Long> userIdSet = filteredUsers.stream()
+ .map(AnnualMaintenanceRecordUser::getUserId)
+ .collect(Collectors.toSet());
+ if (userIdSet.size() != filteredUsers.size()){
+ throw new RuntimeException("年度基础设施维护记录操作管理人员重复");
+ }
+ List<AnnualMaintenanceRecordUser> fixUsers = annualMaintenanceRecordUsers.stream()
+ .filter(user -> 2 == user.getUserType())
+ .collect(Collectors.toList());
+ Set<Long> fixUserIdSet = fixUsers.stream()
+ .map(AnnualMaintenanceRecordUser::getUserId)
+ .collect(Collectors.toSet());
+ if (fixUserIdSet.size() != fixUsers.size()){
+ throw new RuntimeException("年度基础设施维护记录人员重复");
+ }
+ if (ObjectUtils.isEmpty(filteredUsers) || ObjectUtils.isEmpty(fixUsers)){
+ throw new RuntimeException("年度基础设施维护记录人员或操作管理人员不能为空");
+ }
+
+ if (ObjectUtils.isNotEmpty(delRecordUserIds)){
+
+ int update = annualMaintenanceRecordUserMapper.update(new AnnualMaintenanceRecordUser(),
+ new LambdaUpdateWrapper<AnnualMaintenanceRecordUser>().set(AnnualMaintenanceRecordUser::getDelFlag, UserConstant.DEPT_DISABLE)
+ .set(AnnualMaintenanceRecordUser::getUpdateTime, LocalDateTime.now()).set(AnnualMaintenanceRecordUser::getUpdateBy, SecurityUtils.getUsername())
+ .in(AnnualMaintenanceRecordUser::getId, delRecordUserIds)
+ );
+ if (update <= 0){
+ throw new RuntimeException("删除年度基础设施维护记录人员失败");
+ }
+ }
+
+
+ if (isAdd){
+ annualMaintenanceRecordUsers.forEach(user -> {
+ user.setAnnualMaintenanceRecordId(annualMaintenanceRecordId);
+ user.setCreateTime(LocalDateTime.now());
+ user.setCreateBy(SecurityUtils.getUsername());
+ });
+ int insert = annualMaintenanceRecordUserMapper.batchInsert(annualMaintenanceRecordUsers);
+ if (insert <= 0){
+ throw new RuntimeException("保存年度基础设施维护记录人员失败");
+ }
+ }else {
+ List<AnnualMaintenanceRecordUser> addUser = annualMaintenanceRecordUsers.stream()
+ .filter(user -> null == user.getId())
+ .collect(Collectors.toList());
+ if (ObjectUtils.isNotEmpty(addUser)){
+ addUser.forEach(user -> {
+ user.setAnnualMaintenanceRecordId(annualMaintenanceRecordId);
+ user.setCreateTime(LocalDateTime.now());
+ user.setCreateBy(SecurityUtils.getUsername());
+ });
+ int insert = annualMaintenanceRecordUserMapper.batchInsert(annualMaintenanceRecordUsers);
+ if (insert <= 0){
+ throw new RuntimeException("保存年度基础设施维护记录人员失败");
+ }
+ }
+
+ List<AnnualMaintenanceRecordUser> updateUser = annualMaintenanceRecordUsers.stream()
+ .filter(user -> null == user.getId())
+ .collect(Collectors.toList());
+ if (ObjectUtils.isNotEmpty(updateUser)){
+ updateUser.forEach(user -> {
+ user.setUpdateTime(LocalDateTime.now());
+ user.setUpdateBy(SecurityUtils.getUsername());
+ });
+ int update = annualMaintenanceRecordUserMapper.batchUpdate(updateUser);
+ if (update <= 0){
+ throw new RuntimeException("保存年度基础设施维护记录人员失败");
+ }
+ }
+
+ }
+
+
+
+ }
+
+
+ @Override
+ public CommonResult getAnnualMaintenanceRecord(Integer id) {
+ AnnualMaintenanceRecord annualMaintenanceRecord = annualMaintenanceRecordMapper.selectById(id);
+ if (ObjectUtils.isNotEmpty(annualMaintenanceRecord)){
+ List<AnnualMaintenanceRecordUser> annualMaintenanceRecordUsers = annualMaintenanceRecordUserMapper.selectList(
+ new LambdaQueryWrapper<AnnualMaintenanceRecordUser>().eq(AnnualMaintenanceRecordUser::getAnnualMaintenanceRecordId, id)
+ .eq(AnnualMaintenanceRecordUser::getDelFlag, UserConstant.ENABLE).orderByAsc(AnnualMaintenanceRecordUser::getUserType));
+ annualMaintenanceRecord.setAnnualMaintenanceRecordUsers(annualMaintenanceRecordUsers);
+ }
+ return CommonResult.success(annualMaintenanceRecord);
+ }
+
+ @Override
+ @Transactional
+ public CommonResult deletedAnnualMaintenanceRecord(Integer id) {
+
+ AnnualMaintenanceRecord annualMaintenanceRecord = new AnnualMaintenanceRecord();
+ annualMaintenanceRecord.setId(Long.valueOf( id));
+ annualMaintenanceRecord.setDelFlag(1);
+ annualMaintenanceRecord.setUpdateBy(SecurityUtils.getUsername());
+ annualMaintenanceRecord.setUpdateTime(LocalDateTime.now());
+ int update = annualMaintenanceRecordMapper.updateById(annualMaintenanceRecord);
+ if (update > 0){
+ AnnualMaintenanceRecordUser annualMaintenanceRecordUser = new AnnualMaintenanceRecordUser();
+ annualMaintenanceRecordUser.setDelFlag(1);
+ annualMaintenanceRecordUser.setUpdateBy(SecurityUtils.getUsername());
+ annualMaintenanceRecordUser.setUpdateTime(LocalDateTime.now());
+
+ LambdaQueryWrapper<AnnualMaintenanceRecordUser> eq = new LambdaQueryWrapper<AnnualMaintenanceRecordUser>().eq(AnnualMaintenanceRecordUser::getAnnualMaintenanceRecordId, id);
+ int update1 = annualMaintenanceRecordUserMapper.update(annualMaintenanceRecordUser, eq);
+ if (update1 <= 0){
+ throw new RuntimeException("删除年度基础设施维护计划人员失败");
+ }
+ return CommonResult.success();
+ }
+ return CommonResult.failed();
+ }
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/AnnualMaintenanceServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/AnnualMaintenanceServiceImpl.java
new file mode 100644
index 0000000..1b768fc
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/AnnualMaintenanceServiceImpl.java
@@ -0,0 +1,229 @@
+package com.gkhy.exam.system.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.gkhy.exam.common.api.CommonPage;
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.common.constant.UserConstant;
+import com.gkhy.exam.common.utils.PageUtils;
+import com.gkhy.exam.common.utils.SecurityUtils;
+import com.gkhy.exam.system.domain.AnnualMaintenance;
+import com.gkhy.exam.system.domain.AnnualMaintenanceDevice;
+import com.gkhy.exam.system.domain.AnnualMaintenanceDeviceType;
+import com.gkhy.exam.system.domain.StandardizedQuality;
+import com.gkhy.exam.system.domain.vo.AnnualMaintenanceDeviceSaveDTOReq;
+import com.gkhy.exam.system.domain.vo.AnnualMaintenanceInfoRep;
+import com.gkhy.exam.system.domain.vo.AnnualMaintenanceSaveDTOReq;
+import com.gkhy.exam.system.mapper.AnnualMaintenanceDeviceMapper;
+import com.gkhy.exam.system.mapper.AnnualMaintenanceDeviceTypeMapper;
+import com.gkhy.exam.system.mapper.AnnualMaintenanceMapper;
+import com.gkhy.exam.system.service.AnnualMaintenanceService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ * 年度基础设施维护计划主表 服务实现类
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-31 16:12:02
+ */
+@Service
+public class AnnualMaintenanceServiceImpl extends ServiceImpl<AnnualMaintenanceMapper, AnnualMaintenance> implements AnnualMaintenanceService {
+
+
+ @Autowired
+ private AnnualMaintenanceMapper annualMaintenanceMapper;
+
+ @Autowired
+ private AnnualMaintenanceDeviceMapper annualMaintenanceDeviceMapper;
+
+ @Autowired
+ private AnnualMaintenanceDeviceTypeMapper annualMaintenanceDeviceTypeMapper;
+
+
+ @Override
+ public CommonPage selectAnnualMaintenanceList(AnnualMaintenance annualMaintenance) {
+ PageUtils.startPage();
+ List<AnnualMaintenance> annualMaintenances = annualMaintenanceMapper.getAnnualMaintenances(annualMaintenance);
+ return CommonPage.restPage(annualMaintenances);
+ }
+
+ @Override
+ @Transactional
+ public CommonResult saveAnnualMaintenance(AnnualMaintenanceSaveDTOReq annualMaintenanceSaveDTOReq) {
+ List<AnnualMaintenanceDeviceSaveDTOReq> annualMaintenanceDeviceSaveDTOReqs = annualMaintenanceSaveDTOReq.getAnnualMaintenanceDeviceSaveDTOReqs();
+ if (ObjectUtils.isEmpty(annualMaintenanceDeviceSaveDTOReqs)){
+ return CommonResult.failed("年度基础设施维护计划设备保存参数不能为空");
+ }
+ int i = 0;
+
+ AnnualMaintenance annualMaintenance = new AnnualMaintenance();
+ BeanUtils.copyProperties(annualMaintenanceSaveDTOReq,annualMaintenance);
+ boolean isAdd = annualMaintenance.getId() == null;
+ if (isAdd){
+ annualMaintenance.setCreateBy(SecurityUtils.getUsername());
+ annualMaintenance.setCreateTime(LocalDateTime.now());
+ i = annualMaintenanceMapper.insert(annualMaintenance);
+ }else {
+ annualMaintenance.setUpdateBy(SecurityUtils.getUsername());
+ annualMaintenance.setUpdateTime(LocalDateTime.now());
+ i = annualMaintenanceMapper.updateById(annualMaintenance);
+ }
+
+
+ if (i > 0){
+
+ batchSaveDevice(annualMaintenance.getId(), annualMaintenanceDeviceSaveDTOReqs,annualMaintenanceSaveDTOReq.getDelDeviceIds());
+
+ return CommonResult.success();
+ }
+
+ return CommonResult.failed();
+ }
+
+
+ private void batchSaveDevice(Long annualMaintenanceId, List<AnnualMaintenanceDeviceSaveDTOReq> annualMaintenanceDeviceSaveDTOReqs,List<Long> delDeviceIds) {
+ if (ObjectUtils.isNotEmpty(delDeviceIds)){
+ int update = annualMaintenanceDeviceMapper.update(new AnnualMaintenanceDevice(),
+ new LambdaUpdateWrapper<AnnualMaintenanceDevice>().set(AnnualMaintenanceDevice::getDelFlag, UserConstant.DEPT_DISABLE)
+ .set(AnnualMaintenanceDevice::getUpdateTime, LocalDateTime.now()).set(AnnualMaintenanceDevice::getUpdateBy, SecurityUtils.getUsername())
+ .in(AnnualMaintenanceDevice::getId, delDeviceIds)
+ );
+ if (update <= 0){
+ throw new RuntimeException("删除年度基础设施维护计划设备失败");
+ }
+ }
+
+ for (AnnualMaintenanceDeviceSaveDTOReq annualMaintenanceDeviceSaveDTOReq : annualMaintenanceDeviceSaveDTOReqs) {
+ AnnualMaintenanceDevice annualMaintenanceDevice = new AnnualMaintenanceDevice();
+ BeanUtils.copyProperties(annualMaintenanceDeviceSaveDTOReq,annualMaintenanceDevice);
+ annualMaintenanceDevice.setAnnualMaintenanceId(annualMaintenanceId);
+ if (annualMaintenanceDevice.getId() == null){
+ annualMaintenanceDevice.setCreateBy(SecurityUtils.getUsername());
+ annualMaintenanceDevice.setCreateTime(LocalDateTime.now());
+ int insert = annualMaintenanceDeviceMapper.insert(annualMaintenanceDevice);
+ if (insert <= 0){
+ throw new RuntimeException("保存年度基础设施维护计划设备失败");
+ }
+
+ List<AnnualMaintenanceDeviceType> annualMaintenanceDeviceTypes = annualMaintenanceDeviceSaveDTOReq.getAnnualMaintenanceDeviceTypes();
+ if (ObjectUtils.isNotEmpty(annualMaintenanceDeviceTypes)){
+ for (AnnualMaintenanceDeviceType annualMaintenanceDeviceType : annualMaintenanceDeviceTypes) {
+ annualMaintenanceDeviceType.setAnnualMaintenanceDeviceId(annualMaintenanceDevice.getId());
+ annualMaintenanceDeviceType.setCreateBy(SecurityUtils.getUsername());
+ annualMaintenanceDeviceType.setCreateTime(LocalDateTime.now());
+ int insert1 = annualMaintenanceDeviceTypeMapper.insert(annualMaintenanceDeviceType);
+ if (insert1 <= 0){
+ throw new RuntimeException("保存年度基础设施维护计划设备类型失败");
+ }
+ }
+ }
+ }else {
+ annualMaintenanceDevice.setUpdateBy(SecurityUtils.getUsername());
+ annualMaintenanceDevice.setUpdateTime(LocalDateTime.now());
+ int update = annualMaintenanceDeviceMapper.updateById(annualMaintenanceDevice);
+ if (update <= 0){
+ throw new RuntimeException("更新年度基础设施维护计划设备失败");
+ }
+ List<AnnualMaintenanceDeviceType> annualMaintenanceDeviceTypes = annualMaintenanceDeviceSaveDTOReq.getAnnualMaintenanceDeviceTypes();
+ if (ObjectUtils.isNotEmpty(annualMaintenanceDeviceTypes)){
+ for (AnnualMaintenanceDeviceType annualMaintenanceDeviceType : annualMaintenanceDeviceTypes) {
+ annualMaintenanceDeviceType.setAnnualMaintenanceDeviceId(annualMaintenanceDevice.getId());
+ if (annualMaintenanceDeviceType.getId() == null){
+ annualMaintenanceDeviceType.setCreateBy(SecurityUtils.getUsername());
+ annualMaintenanceDeviceType.setCreateTime(LocalDateTime.now());
+ int insert1 = annualMaintenanceDeviceTypeMapper.insert(annualMaintenanceDeviceType);
+ if (insert1 <= 0){
+ throw new RuntimeException("保存年度基础设施维护计划设备类型失败");
+ }
+ }else {
+ annualMaintenanceDeviceType.setUpdateBy(SecurityUtils.getUsername());
+ annualMaintenanceDeviceType.setUpdateTime(LocalDateTime.now());
+ int update1 = annualMaintenanceDeviceTypeMapper.updateById(annualMaintenanceDeviceType);
+ if (update1 <= 0){
+ throw new RuntimeException("更新年度基础设施维护计划设备类型失败");
+ }
+ }
+
+ }
+ }
+
+ }
+
+
+ }
+ }
+ @Override
+ public CommonResult getAnnualMaintenance(Integer id) {
+
+ AnnualMaintenanceInfoRep annualMaintenanceInfoRep = new AnnualMaintenanceInfoRep();
+ AnnualMaintenance annualMaintenance = annualMaintenanceMapper.selectById(id);
+ BeanUtils.copyProperties(annualMaintenance,annualMaintenanceInfoRep);
+ LambdaQueryWrapper<AnnualMaintenanceDevice> eq = new LambdaQueryWrapper<AnnualMaintenanceDevice>().eq(AnnualMaintenanceDevice::getAnnualMaintenanceId, id)
+ .eq(AnnualMaintenanceDevice::getDelFlag, UserConstant.ENABLE).orderByDesc(AnnualMaintenanceDevice::getCreateTime);
+ List<AnnualMaintenanceDevice> annualMaintenanceDevices = annualMaintenanceDeviceMapper.selectList(eq);
+ if (ObjectUtils.isNotEmpty(annualMaintenanceDevices)){
+ for (AnnualMaintenanceDevice annualMaintenanceDevice : annualMaintenanceDevices) {
+
+ List<AnnualMaintenanceDeviceType> annualMaintenanceDeviceTypes =
+ annualMaintenanceDeviceTypeMapper.selectList(new LambdaQueryWrapper<AnnualMaintenanceDeviceType>()
+ .eq(AnnualMaintenanceDeviceType::getAnnualMaintenanceDeviceId, annualMaintenanceDevice.getId())
+ .eq(AnnualMaintenanceDeviceType::getDelFlag, UserConstant.ENABLE)
+ .orderByAsc(AnnualMaintenanceDeviceType::getProjectType));
+ annualMaintenanceDevice.setAnnualMaintenanceDeviceTypeList(annualMaintenanceDeviceTypes);
+ }
+ }
+ annualMaintenanceInfoRep.setAnnualMaintenanceDeviceList(annualMaintenanceDevices);
+
+ return CommonResult.success(annualMaintenanceInfoRep);
+ }
+
+ @Override
+ @Transactional
+ public CommonResult deletedAnnualMaintenance(Integer id) {
+ AnnualMaintenance annualMaintenance = new AnnualMaintenance();
+ annualMaintenance.setId(Long.valueOf( id));
+ annualMaintenance.setDelFlag(1);
+ annualMaintenance.setUpdateBy(SecurityUtils.getUsername());
+ annualMaintenance.setUpdateTime(LocalDateTime.now());
+ int update = annualMaintenanceMapper.updateById(annualMaintenance);
+ if (update > 0){
+ LambdaQueryWrapper<AnnualMaintenanceDevice> eq = new LambdaQueryWrapper<AnnualMaintenanceDevice>().eq(AnnualMaintenanceDevice::getAnnualMaintenanceId, id).eq(AnnualMaintenanceDevice::getDelFlag, UserConstant.ENABLE);
+ List<Long> deviceIds = annualMaintenanceDeviceMapper.selectList(eq).stream().map(AnnualMaintenanceDevice::getId).collect(Collectors.toList());
+ if (ObjectUtils.isNotEmpty(deviceIds)){
+ AnnualMaintenanceDevice annualMaintenanceDevice = new AnnualMaintenanceDevice();
+ annualMaintenanceDevice.setDelFlag(1);
+ annualMaintenanceDevice.setUpdateBy(SecurityUtils.getUsername());
+ annualMaintenanceDevice.setUpdateTime(LocalDateTime.now());
+ int update1 = annualMaintenanceDeviceMapper.update(annualMaintenanceDevice, eq);
+ if (update1 > 0){
+ AnnualMaintenanceDeviceType annualMaintenanceDeviceType = new AnnualMaintenanceDeviceType();
+ annualMaintenanceDeviceType.setDelFlag(1);
+ annualMaintenanceDeviceType.setUpdateBy(SecurityUtils.getUsername());
+ annualMaintenanceDeviceType.setUpdateTime(LocalDateTime.now());
+ int update2 = annualMaintenanceDeviceTypeMapper.update(annualMaintenanceDeviceType, new LambdaQueryWrapper<AnnualMaintenanceDeviceType>().in(AnnualMaintenanceDeviceType::getAnnualMaintenanceDeviceId, deviceIds));
+ if (update2 <= 0){
+ throw new RuntimeException("删除数据失败");
+ }
+ }
+ }else {
+ throw new RuntimeException("删除数据失败");
+ }
+
+ return CommonResult.success();
+ }
+ return CommonResult.failed();
+ }
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/AnnualMaintenanceServiceServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/AnnualMaintenanceServiceServiceImpl.java
new file mode 100644
index 0000000..a4348c7
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/AnnualMaintenanceServiceServiceImpl.java
@@ -0,0 +1,246 @@
+package com.gkhy.exam.system.service.impl;
+
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.gkhy.exam.common.api.CommonPage;
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.common.constant.UserConstant;
+import com.gkhy.exam.common.utils.PageUtils;
+import com.gkhy.exam.common.utils.SecurityUtils;
+import com.gkhy.exam.system.domain.*;
+import com.gkhy.exam.system.mapper.AnnualMaintenanceServiceContentMapper;
+import com.gkhy.exam.system.mapper.AnnualMaintenanceServiceMapper;
+import com.gkhy.exam.system.mapper.AnnualMaintenanceServiceUserMapper;
+import com.gkhy.exam.system.service.AnnualMaintenanceServiceService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.time.LocalDateTime;
+import java.util.List;
+import java.util.Set;
+import java.util.stream.Collectors;
+
+import static net.sf.jsqlparser.parser.feature.Feature.update;
+
+/**
+ * <p>
+ * 年度基础设施维护保养表 服务实现类
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-31 16:12:02
+ */
+@Service
+public class AnnualMaintenanceServiceServiceImpl extends ServiceImpl<AnnualMaintenanceServiceMapper, AnnualMaintenanceService> implements AnnualMaintenanceServiceService {
+
+ @Autowired
+ private AnnualMaintenanceServiceMapper annualMaintenanceServiceMapper;
+
+ @Autowired
+ private AnnualMaintenanceServiceUserMapper annualMaintenanceServiceUserMapper;
+
+ @Autowired
+ private AnnualMaintenanceServiceContentMapper annualMaintenanceServiceContentMapper;
+
+ @Override
+ public CommonPage selectAnnualMaintenanceServiceList(AnnualMaintenanceService annualMaintenanceService) {
+ PageUtils.startPage();
+ List<AnnualMaintenanceService> annualMaintenanceServices = annualMaintenanceServiceMapper.selectAnnualMaintenanceServiceList(annualMaintenanceService);
+ return CommonPage.restPage(annualMaintenanceServices);
+ }
+
+ @Override
+ public CommonResult saveAnnualMaintenanceService(AnnualMaintenanceService annualMaintenanceService) {
+ List<AnnualMaintenanceServiceContent> annualMaintenanceServiceContentList = annualMaintenanceService.getAnnualMaintenanceServiceContentList();
+ List<AnnualMaintenanceServiceUser> annualMaintenanceServiceUserList = annualMaintenanceService.getAnnualMaintenanceServiceUserList();
+ if (ObjectUtil.isEmpty(annualMaintenanceServiceContentList) || ObjectUtil.isEmpty(annualMaintenanceServiceUserList)) {
+ return CommonResult.failed("请填写保养内容及保养人员数据");
+ }
+ checkUser(annualMaintenanceServiceUserList);
+ boolean isAdd = annualMaintenanceService.getId() == null;
+ int i = 0;
+ if (isAdd) {
+ annualMaintenanceService.setCreateBy(SecurityUtils.getUsername());
+ annualMaintenanceService.setCreateTime(LocalDateTime.now());
+ i = annualMaintenanceServiceMapper.insert(annualMaintenanceService);
+ } else {
+ annualMaintenanceService.setUpdateBy(SecurityUtils.getUsername());
+ annualMaintenanceService.setUpdateTime(LocalDateTime.now());
+ i = annualMaintenanceServiceMapper.updateById(annualMaintenanceService);
+ }
+ if (i > 0) {
+ batchSaveContent(isAdd, annualMaintenanceService.getId(), annualMaintenanceServiceContentList);
+ batchSaveUser(annualMaintenanceService.getId(), annualMaintenanceServiceUserList, annualMaintenanceService.getDelServiceUserIds());
+ return CommonResult.success();
+ }
+ return CommonResult.failed();
+ }
+
+ private void batchSaveContent(boolean isAdd, Long serviceId, List<AnnualMaintenanceServiceContent> annualMaintenanceServiceContentList) {
+ if (isAdd) {
+ annualMaintenanceServiceContentList.forEach(content -> {
+ content.setAnnualMaintenanceServiceId(serviceId);
+ content.setCreateBy(SecurityUtils.getUsername());
+ content.setCreateTime(LocalDateTime.now());
+ });
+ int insert = annualMaintenanceServiceContentMapper.batchInsert(annualMaintenanceServiceContentList);
+ if (insert <= 0) {
+ throw new RuntimeException("保存保养内容失败");
+ }
+ } else {
+ annualMaintenanceServiceContentList.forEach(content -> {
+ content.setUpdateBy(SecurityUtils.getUsername());
+ content.setUpdateTime(LocalDateTime.now());
+ });
+ int update = annualMaintenanceServiceContentMapper.batchUpdate(annualMaintenanceServiceContentList);
+ if (update <= 0) {
+ throw new RuntimeException("保存保养内容失败");
+ }
+ }
+ }
+
+ private void batchSaveUser(Long serviceId, List<AnnualMaintenanceServiceUser> annualMaintenanceServiceUserList, List<Long> delServiceUserIds) {
+ if (ObjectUtil.isNotEmpty(delServiceUserIds)) {
+ int update1 = annualMaintenanceServiceUserMapper.update(new AnnualMaintenanceServiceUser(),
+ new LambdaUpdateWrapper<AnnualMaintenanceServiceUser>().set(AnnualMaintenanceServiceUser::getDelFlag, UserConstant.DEPT_DISABLE)
+ .set(AnnualMaintenanceServiceUser::getUpdateTime, LocalDateTime.now()).set(AnnualMaintenanceServiceUser::getUpdateBy, SecurityUtils.getUsername())
+ .in(AnnualMaintenanceServiceUser::getId, delServiceUserIds)
+ );
+ if (update1 <= 0) {
+ throw new RuntimeException("保存失败");
+ }
+ }
+
+ List<AnnualMaintenanceServiceUser> addUser = annualMaintenanceServiceUserList.stream()
+ .filter(user -> null == user.getId())
+ .collect(Collectors.toList());
+ addUser.forEach(user -> {
+ user.setCreateBy(SecurityUtils.getUsername());
+ user.setCreateTime(LocalDateTime.now());
+ user.setAnnualMaintenanceServiceId(serviceId);
+ });
+ int i = annualMaintenanceServiceUserMapper.batchInsert(addUser);
+ if (i <= 0) {
+ throw new RuntimeException("保存失败");
+ }
+
+ List<AnnualMaintenanceServiceUser> updateUser = annualMaintenanceServiceUserList.stream()
+ .filter(user -> null != user.getId())
+ .collect(Collectors.toList());
+ updateUser.forEach(user -> {
+ user.setUpdateBy(SecurityUtils.getUsername());
+ user.setUpdateTime(LocalDateTime.now());
+ });
+ int update = annualMaintenanceServiceUserMapper.batchUpdate(updateUser);
+ if (update <= 0) {
+ throw new RuntimeException("保存失败");
+ }
+ }
+
+ private void checkUser(List<AnnualMaintenanceServiceUser> annualMaintenanceServiceUserList) {
+
+ List<AnnualMaintenanceServiceUser> filteredUsers = annualMaintenanceServiceUserList.stream()
+ .filter(user -> 1 == user.getUserType())
+ .collect(Collectors.toList());
+ if (ObjectUtil.isEmpty(filteredUsers)) {
+ throw new RuntimeException("请填写一级保养操作人员");
+ }
+ Set<Long> userIdSet = filteredUsers.stream()
+ .map(AnnualMaintenanceServiceUser::getUserId)
+ .collect(Collectors.toSet());
+ if (userIdSet.size() != filteredUsers.size()) {
+ throw new RuntimeException("一级保养操作人员重复");
+ }
+
+ List<AnnualMaintenanceServiceUser> filteredUsers2 = annualMaintenanceServiceUserList.stream()
+ .filter(user -> 2 == user.getUserType())
+ .collect(Collectors.toList());
+ if (ObjectUtil.isEmpty(filteredUsers2)) {
+ throw new RuntimeException("请填写一级保养检查人员");
+ }
+ Set<Long> userIdSet2 = filteredUsers2.stream()
+ .map(AnnualMaintenanceServiceUser::getUserId)
+ .collect(Collectors.toSet());
+ if (userIdSet2.size() != filteredUsers2.size()) {
+ throw new RuntimeException("一级保养检查人员重复");
+ }
+
+ List<AnnualMaintenanceServiceUser> filteredUsers3 = annualMaintenanceServiceUserList.stream()
+ .filter(user -> 3 == user.getUserType())
+ .collect(Collectors.toList());
+ if (ObjectUtil.isEmpty(filteredUsers3)) {
+ throw new RuntimeException("请填写二级保养操作人员");
+ }
+ Set<Long> userIdSet3 = filteredUsers.stream()
+ .map(AnnualMaintenanceServiceUser::getUserId)
+ .collect(Collectors.toSet());
+ if (userIdSet3.size() != filteredUsers3.size()) {
+ throw new RuntimeException("二级保养操作人员重复");
+ }
+
+ List<AnnualMaintenanceServiceUser> filteredUsers4 = annualMaintenanceServiceUserList.stream()
+ .filter(user -> 4 == user.getUserType())
+ .collect(Collectors.toList());
+ if (ObjectUtil.isEmpty(filteredUsers4)) {
+ throw new RuntimeException("请填写二级保养检查人员");
+ }
+ Set<Long> userIdSet4 = filteredUsers2.stream()
+ .map(AnnualMaintenanceServiceUser::getUserId)
+ .collect(Collectors.toSet());
+ if (userIdSet4.size() != filteredUsers4.size()) {
+ throw new RuntimeException("二级保养检查人员重复");
+ }
+ }
+
+ @Override
+ public CommonResult getAnnualMaintenanceService(Integer id) {
+ AnnualMaintenanceService annualMaintenanceService = annualMaintenanceServiceMapper.selectById(id);
+ if (ObjectUtils.isNotEmpty(annualMaintenanceService)) {
+ List<AnnualMaintenanceServiceContent> annualMaintenanceServiceContentList = annualMaintenanceServiceContentMapper.selectList(
+ new LambdaQueryWrapper<AnnualMaintenanceServiceContent>().eq(AnnualMaintenanceServiceContent::getAnnualMaintenanceServiceId, id)
+ .eq(AnnualMaintenanceServiceContent::getDelFlag, UserConstant.ENABLE).orderByAsc(AnnualMaintenanceServiceContent::getServiceType));
+ annualMaintenanceService.setAnnualMaintenanceServiceContentList(annualMaintenanceServiceContentList);
+
+ List<AnnualMaintenanceServiceUser> annualMaintenanceServiceUserList = annualMaintenanceServiceUserMapper.selectList(
+ new LambdaQueryWrapper<AnnualMaintenanceServiceUser>().eq(AnnualMaintenanceServiceUser::getAnnualMaintenanceServiceId, id)
+ .eq(AnnualMaintenanceServiceUser::getDelFlag, UserConstant.ENABLE).orderByAsc(AnnualMaintenanceServiceUser::getUserType));
+ annualMaintenanceService.setAnnualMaintenanceServiceUserList(annualMaintenanceServiceUserList);
+ }
+ return CommonResult.success(annualMaintenanceService);
+ }
+
+ @Override
+ @Transactional
+ public CommonResult deletedAnnualMaintenanceService(Integer id) {
+ AnnualMaintenanceService annualMaintenanceService = new AnnualMaintenanceService();
+ annualMaintenanceService.setId(Long.valueOf(id));
+ annualMaintenanceService.setDelFlag(UserConstant.DEPT_DISABLE);
+ int update = annualMaintenanceServiceMapper.updateById(annualMaintenanceService);
+ if (update > 0) {
+
+ int update1 = annualMaintenanceServiceUserMapper.update(new AnnualMaintenanceServiceUser(),
+ new LambdaUpdateWrapper<AnnualMaintenanceServiceUser>().eq(AnnualMaintenanceServiceUser::getAnnualMaintenanceServiceId, id)
+ .set(AnnualMaintenanceServiceUser::getDelFlag, UserConstant.DEPT_DISABLE)
+ .set(AnnualMaintenanceServiceUser::getUpdateTime, LocalDateTime.now())
+ .set(AnnualMaintenanceServiceUser::getUpdateBy, SecurityUtils.getUsername()));
+ if (update1 <= 0) {
+ throw new RuntimeException("删除失败");
+ }
+ int update2 = annualMaintenanceServiceContentMapper.update(new AnnualMaintenanceServiceContent(),
+ new LambdaUpdateWrapper<AnnualMaintenanceServiceContent>().eq(AnnualMaintenanceServiceContent::getAnnualMaintenanceServiceId, id)
+ .set(AnnualMaintenanceServiceContent::getDelFlag, UserConstant.DEPT_DISABLE)
+ .set(AnnualMaintenanceServiceContent::getUpdateTime, LocalDateTime.now())
+ .set(AnnualMaintenanceServiceContent::getUpdateBy, SecurityUtils.getUsername())
+ );
+ if (update2 <= 0) {
+ throw new RuntimeException("删除失败");
+ }
+ return CommonResult.success();
+ }
+ return CommonResult.failed();
+ }
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/CorrectionServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/CorrectionServiceImpl.java
index d87bf10..b9119eb 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/CorrectionServiceImpl.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/CorrectionServiceImpl.java
@@ -48,10 +48,10 @@
}
@Override
- public CommonResult updateCorrection(Correction Correction) {
- Correction.setUpdateBy(SecurityUtils.getUsername());
- Correction.setUpdateTime(LocalDateTime.now());
- int insert = correctionMapper.updateById(Correction);
+ public CommonResult updateCorrection(Correction correction) {
+ correction.setUpdateBy(SecurityUtils.getUsername());
+ correction.setUpdateTime(LocalDateTime.now());
+ int insert = correctionMapper.updateById(correction);
if (insert > 0){
return CommonResult.success();
}
@@ -60,12 +60,12 @@
@Override
public CommonResult deletedCorrection(Integer id) {
- Correction Correction = new Correction();
- Correction.setId(id.longValue());
- Correction.setDelFlag(1);
- Correction.setUpdateBy(SecurityUtils.getUsername());
- Correction.setUpdateTime(LocalDateTime.now());
- int insert = correctionMapper.updateById(Correction);
+ Correction correction = new Correction();
+ correction.setId(id.longValue());
+ correction.setDelFlag(1);
+ correction.setUpdateBy(SecurityUtils.getUsername());
+ correction.setUpdateTime(LocalDateTime.now());
+ int insert = correctionMapper.updateById(correction);
if (insert > 0){
return CommonResult.success();
}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/StandingBookServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/StandingBookServiceImpl.java
new file mode 100644
index 0000000..7c0d37c
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/StandingBookServiceImpl.java
@@ -0,0 +1,74 @@
+package com.gkhy.exam.system.service.impl;
+
+import com.gkhy.exam.common.api.CommonPage;
+import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.common.utils.PageUtils;
+import com.gkhy.exam.common.utils.SecurityUtils;
+import com.gkhy.exam.system.domain.Correction;
+import com.gkhy.exam.system.domain.StandingBook;
+import com.gkhy.exam.system.mapper.StandingBookMapper;
+import com.gkhy.exam.system.service.StandingBookService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * <p>
+ * 台账 服务实现类
+ * </p>
+ *
+ * @author hh
+ * @since 2025-07-31 16:12:02
+ */
+@Service
+public class StandingBookServiceImpl extends ServiceImpl<StandingBookMapper, StandingBook> implements StandingBookService {
+
+ @Autowired
+ private StandingBookMapper standingBookMapper;
+ @Override
+ public CommonPage selectStandingBookList(StandingBook standingBook) {
+ PageUtils.startPage();
+ List<StandingBook> standingBooks = standingBookMapper.getStandingBooks(standingBook);
+ return CommonPage.restPage(standingBooks);
+ }
+
+ @Override
+ public CommonResult insertStandingBook(StandingBook standingBook) {
+ standingBook.setCreateBy(SecurityUtils.getUsername());
+ standingBook.setCreateTime(LocalDateTime.now());
+ int insert = standingBookMapper.insert(standingBook);
+ if (insert > 0){
+ return CommonResult.success();
+ }
+ return CommonResult.failed();
+ }
+
+ @Override
+ public CommonResult updateStandingBook(StandingBook standingBook) {
+ standingBook.setUpdateBy(SecurityUtils.getUsername());
+ standingBook.setUpdateTime(LocalDateTime.now());
+ int insert = standingBookMapper.updateById(standingBook);
+ if (insert > 0){
+ return CommonResult.success();
+ }
+ return CommonResult.failed();
+ }
+
+ @Override
+ public CommonResult deletedStandingBook(Integer id) {
+
+ StandingBook standingBook = new StandingBook();
+ standingBook.setId(id.longValue());
+ standingBook.setDelFlag(1);
+ standingBook.setUpdateBy(SecurityUtils.getUsername());
+ standingBook.setUpdateTime(LocalDateTime.now());
+ int update = standingBookMapper.updateById(standingBook);
+ if (update > 0){
+ return CommonResult.success();
+ }
+ return CommonResult.failed();
+ }
+}
diff --git a/multi-system/src/main/resources/mapper/system/AnnualMaintenanceDeviceMapper.xml b/multi-system/src/main/resources/mapper/system/AnnualMaintenanceDeviceMapper.xml
new file mode 100644
index 0000000..1dcee5d
--- /dev/null
+++ b/multi-system/src/main/resources/mapper/system/AnnualMaintenanceDeviceMapper.xml
@@ -0,0 +1,5 @@
+<?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.gkhy.exam.system.mapper.AnnualMaintenanceDeviceMapper">
+
+</mapper>
diff --git a/multi-system/src/main/resources/mapper/system/AnnualMaintenanceDeviceTypeMapper.xml b/multi-system/src/main/resources/mapper/system/AnnualMaintenanceDeviceTypeMapper.xml
new file mode 100644
index 0000000..553bd7c
--- /dev/null
+++ b/multi-system/src/main/resources/mapper/system/AnnualMaintenanceDeviceTypeMapper.xml
@@ -0,0 +1,5 @@
+<?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.gkhy.exam.system.mapper.AnnualMaintenanceDeviceTypeMapper">
+
+</mapper>
diff --git a/multi-system/src/main/resources/mapper/system/AnnualMaintenanceEvaluateDeviceMapper.xml b/multi-system/src/main/resources/mapper/system/AnnualMaintenanceEvaluateDeviceMapper.xml
new file mode 100644
index 0000000..1f0020c
--- /dev/null
+++ b/multi-system/src/main/resources/mapper/system/AnnualMaintenanceEvaluateDeviceMapper.xml
@@ -0,0 +1,37 @@
+<?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.gkhy.exam.system.mapper.AnnualMaintenanceEvaluateDeviceMapper">
+
+ <insert id="batchInsert">
+
+ insert into annual_maintenance_evaluate_device (annual_maintenance_evaluate_id, device_number, device_name,model,location,purpose,use_user,
+ dept_name,result_type,create_time, create_by)
+ values
+ <foreach collection="list" item="item" separator=",">
+ (#{item.annualMaintenanceEvaluateId}, #{deviceNumber}, #{item.deviceName},
+ #{item.model}, #{item.location}, #{item.purpose}, #{item.useUser},
+ #{item.deptName}, #{item.resultType},
+ #{item.createTime}, #{item.createBy})
+ </foreach>
+ </insert>
+
+ <update id="batchUpdate" parameterType="java.util.List">
+ <foreach collection="list" item="item" separator=";">
+ update annual_maintenance_evaluate_device
+ <trim prefix="SET" suffixOverrides=",">
+ <if test="item.deviceNumber != null">device_number = #{item.deviceNumber},</if>
+ <if test="item.deviceName != null ">device_name = #{item.deviceName},</if>
+ <if test="item.model != null">model = #{item.model},</if>
+ <if test="item.location != null">location = #{item.location},</if>
+ <if test="item.purpose != null">purpose = #{item.purpose},</if>
+ <if test="item.useUser != null">use_user = #{item.useUser},</if>
+ <if test="item.deptName != null">dept_name = #{item.deptName},</if>
+ <if test="item.resultType != null">result_type = #{item.resultType},</if>
+ <if test="item.updateBy != null">update_by = #{item.updateBy},</if>
+ <if test="item.updateTime != null">update_time = #{item.updateTime},</if>
+ </trim>
+ where id = #{item.id}
+ </foreach>
+ </update>
+
+</mapper>
diff --git a/multi-system/src/main/resources/mapper/system/AnnualMaintenanceEvaluateMapper.xml b/multi-system/src/main/resources/mapper/system/AnnualMaintenanceEvaluateMapper.xml
new file mode 100644
index 0000000..1dae149
--- /dev/null
+++ b/multi-system/src/main/resources/mapper/system/AnnualMaintenanceEvaluateMapper.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.gkhy.exam.system.mapper.AnnualMaintenanceEvaluateMapper">
+
+
+ <select id="getAnnualMaintenanceEvaluate" resultType="com.gkhy.exam.system.domain.AnnualMaintenanceEvaluate" parameterType="com.gkhy.exam.system.domain.AnnualMaintenanceEvaluate">
+
+ select a.*,b.name as companyName from annual_maintenance_evaluate a
+ left join sys_company b on a.company_id = b.id
+ where a.del_flag = 0
+ <if test="companyId != null">
+ and a.company_id = #{companyId}
+ </if>
+ order by a.create_time desc
+ </select>
+</mapper>
diff --git a/multi-system/src/main/resources/mapper/system/AnnualMaintenanceMapper.xml b/multi-system/src/main/resources/mapper/system/AnnualMaintenanceMapper.xml
new file mode 100644
index 0000000..fc7af73
--- /dev/null
+++ b/multi-system/src/main/resources/mapper/system/AnnualMaintenanceMapper.xml
@@ -0,0 +1,18 @@
+<?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.gkhy.exam.system.mapper.AnnualMaintenanceMapper">
+
+
+ <select id="getAnnualMaintenances" resultType="com.gkhy.exam.system.domain.AnnualMaintenance" parameterType="com.gkhy.exam.system.domain.AnnualMaintenance">
+
+ select * from annual_maintenance where del_flag = 0
+ <if test="year != null and year != ''">
+ and `year` = #{year}
+ </if>
+
+ <if test="companyId != null">
+ and company_id = #{companyId}
+ </if>
+ order by create_time desc
+ </select>
+</mapper>
diff --git a/multi-system/src/main/resources/mapper/system/AnnualMaintenanceRecordMapper.xml b/multi-system/src/main/resources/mapper/system/AnnualMaintenanceRecordMapper.xml
new file mode 100644
index 0000000..528cd18
--- /dev/null
+++ b/multi-system/src/main/resources/mapper/system/AnnualMaintenanceRecordMapper.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.gkhy.exam.system.mapper.AnnualMaintenanceRecordMapper">
+
+
+ <select id="getAnnualMaintenanceRecord" parameterType="com.gkhy.exam.system.domain.AnnualMaintenanceRecord" resultType="com.gkhy.exam.system.domain.AnnualMaintenanceRecord" >
+
+
+ select a.*,
+ (select GROUP_CONCAT(user_name) from annual_maintenance_record_user where annual_maintenance_record_id = a.id and del_flag = 0 and user_type = 1 GROUP BY annual_maintenance_record_id ) as manageName
+ from annual_maintenance_record a where a.del_flag = 0
+ <if test="companyId != null">
+ and a.company_id = #{companyId}
+ </if>
+ order by a.create_time desc
+ </select>
+</mapper>
diff --git a/multi-system/src/main/resources/mapper/system/AnnualMaintenanceRecordUserMapper.xml b/multi-system/src/main/resources/mapper/system/AnnualMaintenanceRecordUserMapper.xml
new file mode 100644
index 0000000..f7d1f87
--- /dev/null
+++ b/multi-system/src/main/resources/mapper/system/AnnualMaintenanceRecordUserMapper.xml
@@ -0,0 +1,27 @@
+<?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.gkhy.exam.system.mapper.AnnualMaintenanceRecordUserMapper">
+
+
+ <insert id="batchInsert">
+
+ insert into annual_maintenance_record_user (annual_maintenance_record_id, user_type, user_id, user_name, create_time, create_by)
+ values
+ <foreach collection="list" item="item" separator=",">
+ (#{item.annualMaintenanceRecordId}, #{item.userType}, #{item.userId}, #{item.userName}, #{item.createTime}, #{item.createBy})
+ </foreach>
+ </insert>
+
+ <update id="batchUpdate" parameterType="java.util.List">
+ <foreach collection="list" item="item" separator=";">
+ update annual_maintenance_record_user
+ <trim prefix="SET" suffixOverrides=",">
+ <if test="item.userId != null">user_id = #{item.userId},</if>
+ <if test="item.userName != null ">user_name = #{item.userName},</if>
+ <if test="item.updateBy != null">update_by = #{item.updateBy},</if>
+ <if test="item.updateTime != null">update_time = #{item.updateTime},</if>
+ </trim>
+ where id = #{item.id}
+ </foreach>
+ </update>
+</mapper>
diff --git a/multi-system/src/main/resources/mapper/system/AnnualMaintenanceServiceContentMapper.xml b/multi-system/src/main/resources/mapper/system/AnnualMaintenanceServiceContentMapper.xml
new file mode 100644
index 0000000..676f4bf
--- /dev/null
+++ b/multi-system/src/main/resources/mapper/system/AnnualMaintenanceServiceContentMapper.xml
@@ -0,0 +1,28 @@
+<?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.gkhy.exam.system.mapper.AnnualMaintenanceServiceContentMapper">
+
+ <insert id="batchInsert">
+
+ insert into annual_maintenance_service_content (annual_maintenance_service_id, service_type,conclusion,rectification_measures, create_time, create_by)
+ values
+ <foreach collection="list" item="item" separator=",">
+ (#{item.annualMaintenanceServiceId}, #{item.serviceType},
+ , #{item.conclusion},#{item.rectificationMeasures},
+ #{item.createTime}, #{item.createBy})
+ </foreach>
+ </insert>
+
+ <update id="batchUpdate" parameterType="java.util.List">
+ <foreach collection="list" item="item" separator=";">
+ update annual_maintenance_service_content
+ <trim prefix="SET" suffixOverrides=",">
+ <if test="item.conclusion != null">conclusion = #{item.conclusion},</if>
+ <if test="item.rectificationMeasures != null ">rectification_measures = #{item.rectificationMeasures},</if>
+ <if test="item.updateBy != null">update_by = #{item.updateBy},</if>
+ <if test="item.updateTime != null">update_time = #{item.updateTime},</if>
+ </trim>
+ where id = #{item.id}
+ </foreach>
+ </update>
+</mapper>
diff --git a/multi-system/src/main/resources/mapper/system/AnnualMaintenanceServiceMapper.xml b/multi-system/src/main/resources/mapper/system/AnnualMaintenanceServiceMapper.xml
new file mode 100644
index 0000000..b9db098
--- /dev/null
+++ b/multi-system/src/main/resources/mapper/system/AnnualMaintenanceServiceMapper.xml
@@ -0,0 +1,14 @@
+<?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.gkhy.exam.system.mapper.AnnualMaintenanceServiceMapper">
+
+
+ <select id="selectAnnualMaintenanceServiceList" parameterType="com.gkhy.exam.system.domain.AnnualMaintenanceService" resultType="com.gkhy.exam.system.domain.AnnualMaintenanceService" >
+
+ select * from annual_maintenance_service where del_flag = 0
+ <if test="companyId != null">
+ and company_id = #{companyId}
+ </if>
+ order by create_time desc
+ </select>
+</mapper>
diff --git a/multi-system/src/main/resources/mapper/system/AnnualMaintenanceServiceUserMapper.xml b/multi-system/src/main/resources/mapper/system/AnnualMaintenanceServiceUserMapper.xml
new file mode 100644
index 0000000..4a089ba
--- /dev/null
+++ b/multi-system/src/main/resources/mapper/system/AnnualMaintenanceServiceUserMapper.xml
@@ -0,0 +1,27 @@
+<?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.gkhy.exam.system.mapper.AnnualMaintenanceServiceUserMapper">
+
+ <insert id="batchInsert">
+
+ insert into annual_maintenance_service_user (annual_maintenance_service_id, user_id,user_name,user_type,check_date,create_time,create_by) values
+ <foreach collection="list" item="item" separator=",">
+ (#{item.annualMaintenanceServiceId}, #{item.userId},#{item.userName},#{item.userType},#{item.checkDate},#{item.createTime},#{item.createBy})
+ </foreach>
+ </insert>
+
+ <update id="batchUpdate" parameterType="java.util.List">
+ <foreach collection="list" item="item" separator=";">
+ update annual_maintenance_service_user
+ <trim prefix="SET" suffixOverrides=",">
+ <if test="item.userId != null">user_id = #{item.userId},</if>
+ <if test="item.userName != null ">user_name = #{item.userName},</if>
+ <if test="item.userType != null">user_type = #{item.userType},</if>
+ <if test="item.checkDate != null">check_date = #{item.checkDate},</if>
+ <if test="item.updateBy != null">update_by = #{item.updateBy},</if>
+ <if test="item.updateTime != null">update_time = #{item.updateTime},</if>
+ </trim>
+ where id = #{item.id}
+ </foreach>
+ </update>
+</mapper>
diff --git a/multi-system/src/main/resources/mapper/system/StandingBookMapper.xml b/multi-system/src/main/resources/mapper/system/StandingBookMapper.xml
new file mode 100644
index 0000000..758422c
--- /dev/null
+++ b/multi-system/src/main/resources/mapper/system/StandingBookMapper.xml
@@ -0,0 +1,18 @@
+<?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.gkhy.exam.system.mapper.StandingBookMapper">
+
+
+
+
+ <select id="getStandingBooks" parameterType="com.gkhy.exam.system.domain.StandingBook" resultType="com.gkhy.exam.system.domain.StandingBook">
+ select a.*,b.dept_name as deptName from standing_book a
+ left join sys_dept b on a.dept_id = b.dept_id
+ where del_flag = 0
+ <if test="companyId != null">
+ and a.company_id = #{companyId}
+ </if>
+ order by a.create_time desc
+ </select>
+
+</mapper>
--
Gitblit v1.9.2