From d0d174b591e2372ef79af3e81714db8eead52187 Mon Sep 17 00:00:00 2001
From: Geoffrey <Geoffrey@mail.com>
Date: 星期二, 14 一月 2025 15:45:00 +0800
Subject: [PATCH] 政策和节能项目

---
 zhitan-system/src/main/java/com/zhitan/saving/domain/vo/EnergySavingProgramVO.java                       |   15 
 zhitan-system/src/main/java/com/zhitan/saving/domain/vo/PoliciesRegulationsManagementDetailVO.java       |   57 ++
 zhitan-system/src/main/java/com/zhitan/saving/service/impl/PoliciesRegulationsManagementServiceImpl.java |  110 +++++
 zhitan-system/src/main/java/com/zhitan/saving/domain/dto/PoliciesRegulationsManagementPageDTO.java       |   23 +
 zhitan-system/src/main/java/com/zhitan/saving/domain/dto/EnergySavingProgramDTO.java                     |   57 ++
 zhitan-system/src/main/java/com/zhitan/saving/service/impl/EnergySavingProgramServiceImpl.java           |  153 +++++++
 zhitan-admin/src/main/java/com/zhitan/web/controller/saving/PoliciesRegulationsManagementController.java |   84 ++++
 zhitan-system/src/main/java/com/zhitan/saving/service/IPoliciesRegulationsManagementService.java         |   43 ++
 zhitan-system/src/main/java/com/zhitan/saving/domain/entity/EnergySavingProgram.java                     |   74 +++
 zhitan-system/src/main/resources/mapper/saving/EnergySavingProgramMapper.xml                             |   39 +
 zhitan-system/src/main/java/com/zhitan/saving/service/IEnergySavingProgramService.java                   |   68 +++
 zhitan-system/src/main/java/com/zhitan/saving/mapper/EnergySavingProgramMapper.java                      |   27 +
 zhitan-common/src/main/java/com/zhitan/common/utils/id/IncrLongIdUtil.java                               |   41 ++
 zhitan-system/src/main/resources/mapper/saving/PoliciesRegulationsManagementMapper.xml                   |   26 +
 zhitan-system/src/main/java/com/zhitan/saving/domain/vo/DropdownListVO.java                              |   24 +
 zhitan-system/src/main/java/com/zhitan/saving/domain/vo/PoliciesRegulationsManagementPageVO.java         |   56 ++
 zhitan-admin/src/main/java/com/zhitan/web/controller/saving/EnergySavingProgramController.java           |   85 ++++
 zhitan-common/src/main/java/com/zhitan/common/utils/id/IdGenUtil.java                                    |   25 +
 zhitan-system/src/main/java/com/zhitan/saving/domain/dto/PoliciesRegulationsDTO.java                     |   57 ++
 zhitan-system/src/main/java/com/zhitan/saving/mapper/PoliciesRegulationsManagementMapper.java            |   30 +
 zhitan-system/src/main/java/com/zhitan/saving/domain/entity/PoliciesRegulationsManagement.java           |   64 +++
 21 files changed, 1,158 insertions(+), 0 deletions(-)

diff --git a/zhitan-admin/src/main/java/com/zhitan/web/controller/saving/EnergySavingProgramController.java b/zhitan-admin/src/main/java/com/zhitan/web/controller/saving/EnergySavingProgramController.java
new file mode 100644
index 0000000..029cf92
--- /dev/null
+++ b/zhitan-admin/src/main/java/com/zhitan/web/controller/saving/EnergySavingProgramController.java
@@ -0,0 +1,85 @@
+package com.zhitan.web.controller.saving;
+
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zhitan.common.core.controller.BaseController;
+import com.zhitan.common.core.domain.AjaxResult;
+import com.zhitan.common.core.page.TableDataInfo;
+import com.zhitan.saving.domain.dto.EnergySavingProgramDTO;
+import com.zhitan.saving.domain.entity.EnergySavingProgram;
+import com.zhitan.saving.domain.vo.EnergySavingProgramVO;
+import com.zhitan.saving.service.IEnergySavingProgramService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+
+/**
+ * 鑺傝兘椤圭洰绠$悊
+ * Controller
+ *
+ * @author ZhiTan
+ * @date 2024-12-26
+ */
+@RestController
+@RequestMapping("/energySavingProject")
+@Api(tags = "鑺傝兘椤圭洰绠$悊")
+public class EnergySavingProgramController extends BaseController {
+    @Resource
+    private IEnergySavingProgramService energySavingProgramService;
+
+    /**
+     * 鏌ヨ
+     * 鑺傝兘椤圭洰绠$悊
+     * 鍒楄〃
+     */
+    @GetMapping("/page")
+    @ApiOperation(value = "鍒嗛〉鍒楄〃")
+    public TableDataInfo list(EnergySavingProgram energySavingProgram) {
+        Page<EnergySavingProgramVO> list = energySavingProgramService.selectEnergySavingProgramList(energySavingProgram);
+        return getDataTable(list);
+    }
+
+
+    /**
+     * 鑾峰彇
+     * 鑺傝兘椤圭洰绠$悊
+     * 璇︾粏淇℃伅
+     */
+    @ApiOperation(value = "鏌ヨ璇︽儏")
+    @GetMapping(value = "getById")
+    public AjaxResult getInfo(@RequestParam("id") Long id) {
+        return success(energySavingProgramService.selectEnergySavingProgramById(id));
+    }
+
+    /**
+     * 鏂板
+     * 鑺傝兘椤圭洰绠$悊
+     */
+    @ApiOperation(value = "鏂板")
+    @PostMapping("add")
+    public AjaxResult add(  @RequestBody EnergySavingProgramDTO dto) {
+        return energySavingProgramService.insertEnergySavingProgram(dto);
+    }
+
+    /**
+     * 淇敼
+     * 鑺傝兘椤圭洰绠$悊
+     */
+    @ApiOperation(value = "鏇存柊")
+    @PostMapping("edit")
+    public AjaxResult edit(@RequestBody EnergySavingProgramDTO dto) {
+        return energySavingProgramService.updateEnergySavingProgram(dto);
+    }
+
+    /**
+     * 鍒犻櫎
+     * 鑺傝兘椤圭洰绠$悊
+     */
+    @DeleteMapping("del/{id}")
+    @ApiOperation(value = "鍒犻櫎")
+    public AjaxResult remove(@PathVariable  Long id) {
+        return energySavingProgramService.deleteEnergySavingProgramById(id);
+    }
+}
diff --git a/zhitan-admin/src/main/java/com/zhitan/web/controller/saving/PoliciesRegulationsManagementController.java b/zhitan-admin/src/main/java/com/zhitan/web/controller/saving/PoliciesRegulationsManagementController.java
new file mode 100644
index 0000000..8064966
--- /dev/null
+++ b/zhitan-admin/src/main/java/com/zhitan/web/controller/saving/PoliciesRegulationsManagementController.java
@@ -0,0 +1,84 @@
+package com.zhitan.web.controller.saving;
+
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zhitan.common.core.controller.BaseController;
+import com.zhitan.common.core.domain.AjaxResult;
+import com.zhitan.common.core.page.TableDataInfo;
+import com.zhitan.saving.domain.dto.PoliciesRegulationsDTO;
+import com.zhitan.saving.domain.dto.PoliciesRegulationsManagementPageDTO;
+import com.zhitan.saving.domain.vo.PoliciesRegulationsManagementDetailVO;
+import com.zhitan.saving.domain.vo.PoliciesRegulationsManagementPageVO;
+import com.zhitan.saving.service.IPoliciesRegulationsManagementService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+
+/**
+ * 鏀跨瓥娉曡Controller
+ *
+ * @author ZhiTan
+ * @date 2024-12-26
+ */
+@RestController
+@Api(tags = "鏀跨瓥娉曡绠$悊")
+@RequestMapping("/policiesRegulations")
+public class PoliciesRegulationsManagementController extends BaseController {
+
+    @Resource
+    private IPoliciesRegulationsManagementService policiesRegulationsService;
+
+
+    /**
+     * 鏀跨瓥娉曡-鍒楄〃鏌ヨ
+     */
+    @GetMapping("/page")
+    @ApiOperation(value = "鍒嗛〉鍒楄〃")
+    public TableDataInfo page(PoliciesRegulationsManagementPageDTO pageDTO) {
+        Page<PoliciesRegulationsManagementPageVO> responsePage = policiesRegulationsService.getPageList(pageDTO);
+        return getDataTable(responsePage);
+    }
+
+    /**
+     * 鏀跨瓥娉曡-鏌ヨ璇︽儏
+     */
+    @GetMapping("/detail")
+    @ApiOperation(value = "鏌ヨ璇︽儏")
+    public AjaxResult page(@RequestParam("id") Long id) {
+        PoliciesRegulationsManagementDetailVO responsePage = policiesRegulationsService.getDetail(id);
+        return success(responsePage);
+    }
+
+    /**
+     * 鏀跨瓥娉曡-鏂板
+     */
+    @PostMapping("/add")
+    @ApiOperation(value = "鏂板")
+    public AjaxResult add(@RequestBody @Validated PoliciesRegulationsDTO addDTO) {
+        policiesRegulationsService.add(addDTO);
+        return success();
+    }
+
+    /**
+     * 鏀跨瓥娉曡-鏇存柊
+     */
+    @PostMapping("/edit")
+    @ApiOperation(value = "鏇存柊")
+    public AjaxResult edit(@RequestBody @Validated PoliciesRegulationsDTO editDTO) {
+        policiesRegulationsService.edit(editDTO);
+        return success();
+    }
+
+    /**
+     * 鏀跨瓥娉曡-鍒犻櫎
+     */
+    @DeleteMapping("/delete/{id}")
+    @ApiOperation(value = "鍒犻櫎")
+    public AjaxResult delete(@PathVariable("id") Long id) {
+        policiesRegulationsService.delete(id);
+        return success();
+    }
+}
diff --git a/zhitan-common/src/main/java/com/zhitan/common/utils/id/IdGenUtil.java b/zhitan-common/src/main/java/com/zhitan/common/utils/id/IdGenUtil.java
new file mode 100755
index 0000000..6b802ae
--- /dev/null
+++ b/zhitan-common/src/main/java/com/zhitan/common/utils/id/IdGenUtil.java
@@ -0,0 +1,25 @@
+package com.zhitan.common.utils.id;
+
+import com.baomidou.mybatisplus.core.toolkit.IdWorker;
+
+import java.util.UUID;
+
+/**
+ * 鐢熸垚ID
+ * @author Geoffrey
+ * @date 2024/12/31
+ */
+public class IdGenUtil {
+    public static long nextLongId() {
+        return IncrLongIdUtil.nextLongId();
+    }
+
+    public static String randomId() {
+        long id = IdWorker.getId();
+        return String.valueOf(id);
+    }
+
+    public static Integer nextIntegerId() {
+        return Math.abs(UUID.randomUUID().hashCode());
+    }
+}
diff --git a/zhitan-common/src/main/java/com/zhitan/common/utils/id/IncrLongIdUtil.java b/zhitan-common/src/main/java/com/zhitan/common/utils/id/IncrLongIdUtil.java
new file mode 100755
index 0000000..53a5a34
--- /dev/null
+++ b/zhitan-common/src/main/java/com/zhitan/common/utils/id/IncrLongIdUtil.java
@@ -0,0 +1,41 @@
+package com.zhitan.common.utils.id;
+
+import java.util.concurrent.atomic.AtomicInteger;
+
+/**
+ * longid
+ * @author Geoffrey
+ * @date 2024/12/31
+ */
+public class IncrLongIdUtil {
+
+    private static final int INCR_PART_LIMIT_VALUE = 10000;
+    private static final AtomicInteger ID_INCR_PART_TEMP = new AtomicInteger(INCR_PART_LIMIT_VALUE);
+    private static final StringBuffer ID_BUILDER = new StringBuffer();
+    private static transient long baseTime = System.currentTimeMillis() / 1000;
+    private static final String DATA_CENTER_ID = "0"; // 0-9
+
+    public static synchronized long nextLongId() {
+        ID_BUILDER.setLength(0);
+        long currentTime = System.currentTimeMillis() / 1000;
+        if (currentTime > baseTime) {
+            ID_INCR_PART_TEMP.set(INCR_PART_LIMIT_VALUE);
+            baseTime = currentTime;
+        }
+        int index = ID_INCR_PART_TEMP.incrementAndGet();
+        if (index >= (INCR_PART_LIMIT_VALUE * 10 - 1)) {
+            if (currentTime == baseTime) {
+                try {
+                    Thread.sleep(1000);
+                    currentTime =  System.currentTimeMillis() / 1000;
+                    baseTime = currentTime;
+                } catch (InterruptedException e) {
+                    // do nothing
+                }
+            }
+            ID_INCR_PART_TEMP.set(INCR_PART_LIMIT_VALUE);
+        }
+        String longStr = ID_BUILDER.append(currentTime).append(DATA_CENTER_ID).append(index).toString();
+        return Long.parseLong(longStr);
+    }
+}
diff --git a/zhitan-system/src/main/java/com/zhitan/saving/domain/dto/EnergySavingProgramDTO.java b/zhitan-system/src/main/java/com/zhitan/saving/domain/dto/EnergySavingProgramDTO.java
new file mode 100644
index 0000000..e9b4c95
--- /dev/null
+++ b/zhitan-system/src/main/java/com/zhitan/saving/domain/dto/EnergySavingProgramDTO.java
@@ -0,0 +1,57 @@
+package com.zhitan.saving.domain.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.zhitan.common.annotation.Excel;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author Geoffrey
+ * @date 2025/01/13
+ */
+@Data
+@ApiModel(value = "鑺傝兘椤圭洰DTO")
+public class EnergySavingProgramDTO {
+    private Long id;
+
+
+    /**
+     * 鑺傝兘璁″垝
+     */
+    private String plan;
+
+
+    /**
+     * 瀹屾垚鏃堕棿
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "瀹屾垚鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date completionTime;
+    /**
+     * 椤圭洰缁勯暱
+     */
+    @Excel(name = "椤圭洰缁勯暱")
+    private String liablePerson;
+
+
+    /**
+     * 瀹炴柦璁″垝
+     */
+    private String implementationPlan;
+    /**
+     * 褰撳墠宸ヤ綔
+     */
+    private String currentWork;
+    /**
+     * 鑺傜害閲�
+     */
+    private String savingAmount;
+    /**
+     * 澶囨敞
+     */
+    private String remark;
+
+
+}
diff --git a/zhitan-system/src/main/java/com/zhitan/saving/domain/dto/PoliciesRegulationsDTO.java b/zhitan-system/src/main/java/com/zhitan/saving/domain/dto/PoliciesRegulationsDTO.java
new file mode 100644
index 0000000..c1e473b
--- /dev/null
+++ b/zhitan-system/src/main/java/com/zhitan/saving/domain/dto/PoliciesRegulationsDTO.java
@@ -0,0 +1,57 @@
+package com.zhitan.saving.domain.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.util.Date;
+
+/**
+ * @author Geoffrey
+ * @date 2025/01/13
+ */
+@Data
+@ApiModel(value = "鏀跨瓥绠$悊鏂板DTO")
+public class PoliciesRegulationsDTO {
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long id;
+    /**
+     * 鏀跨瓥鏍囬
+     */
+    @NotBlank(message = "璇疯緭鍏ユ斂绛栨爣棰�")
+    private String title;
+
+    /**
+     * 鏀跨瓥绫诲瀷
+     */
+    @NotNull(message = "璇烽�夋嫨鏀跨瓥绫诲瀷")
+    private Integer type;
+
+    /**
+     * 鍗板彂閮ㄩ棬
+     */
+    @NotBlank(message = "璇疯緭鍏ュ嵃鍙戦儴闂�")
+    private String dept;
+
+    /**
+     * 鍗板彂鏃堕棿
+     */
+    @NotNull(message = "璇烽�夋嫨鍗板彂鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    private Date issuingTime;
+
+    /**
+     * 鏂囦欢鍦板潃
+     */
+    @NotBlank(message = "璇蜂笂浼犳枃浠�")
+    private String address;
+
+
+
+}
diff --git a/zhitan-system/src/main/java/com/zhitan/saving/domain/dto/PoliciesRegulationsManagementPageDTO.java b/zhitan-system/src/main/java/com/zhitan/saving/domain/dto/PoliciesRegulationsManagementPageDTO.java
new file mode 100644
index 0000000..f55b70b
--- /dev/null
+++ b/zhitan-system/src/main/java/com/zhitan/saving/domain/dto/PoliciesRegulationsManagementPageDTO.java
@@ -0,0 +1,23 @@
+package com.zhitan.saving.domain.dto;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+/**
+ * @author Geoffrey
+ * @date 2025/01/13
+ */
+@Data
+@ApiModel(value = "PoliciesRegulationsManagementPageDTO", description = "鏀跨瓥娉曡-鍒楄〃鏌ヨDto")
+public class PoliciesRegulationsManagementPageDTO {
+
+    /**
+     * 绫诲瀷
+     */
+    private Integer type;
+
+    /**
+     * 鏍囬
+     */
+    private String title;
+}
diff --git a/zhitan-system/src/main/java/com/zhitan/saving/domain/entity/EnergySavingProgram.java b/zhitan-system/src/main/java/com/zhitan/saving/domain/entity/EnergySavingProgram.java
new file mode 100644
index 0000000..feb0a64
--- /dev/null
+++ b/zhitan-system/src/main/java/com/zhitan/saving/domain/entity/EnergySavingProgram.java
@@ -0,0 +1,74 @@
+package com.zhitan.saving.domain.entity;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.zhitan.common.annotation.Excel;
+import com.zhitan.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+import java.util.Date;
+
+
+/**
+ * 鑺傝兘椤圭洰绠$悊
+ *
+ * @author Geoffrey
+ * @date 2025/01/13
+ */
+@Data
+@ApiModel(value = "EnergySavingProgram", description = "鑺傝兘椤圭洰绠$悊瀹炰綋")
+public class EnergySavingProgram extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * $column.columnComment
+     */
+    private Long id;
+
+
+    /**
+     * 鎬讳綋璁″垝
+     */
+    @Excel(name = "鎬讳綋璁″垝")
+    private String plan;
+
+
+    /**
+     * 瀹屾垚鏃堕棿
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "瀹屾垚鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date completionTime;
+    /**
+     * 椤圭洰缁勯暱
+     */
+    @Excel(name = "椤圭洰缁勯暱")
+    private String liablePerson;
+
+
+    /**
+     * 瀹炴柦璁″垝
+     */
+    private String implementationPlan;
+    /**
+     * 褰撳墠宸ヤ綔
+     */
+    private String currentWork;
+    /**
+     * 鑺傜害閲�
+     */
+    private String savingAmount;
+    /**
+     * 澶囨敞
+     */
+    private String remark;
+
+
+    /**
+     * 鏄惁鍒犻櫎
+     */
+    @Excel(name = "鏄惁鍒犻櫎")
+    private Long del;
+
+
+}
diff --git a/zhitan-system/src/main/java/com/zhitan/saving/domain/entity/PoliciesRegulationsManagement.java b/zhitan-system/src/main/java/com/zhitan/saving/domain/entity/PoliciesRegulationsManagement.java
new file mode 100644
index 0000000..43ef633
--- /dev/null
+++ b/zhitan-system/src/main/java/com/zhitan/saving/domain/entity/PoliciesRegulationsManagement.java
@@ -0,0 +1,64 @@
+package com.zhitan.saving.domain.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.zhitan.common.annotation.Excel;
+import com.zhitan.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+import java.util.Date;
+
+
+/**
+ * 鏀跨瓥娉曡瀵硅薄
+ * @author Geoffrey
+ * @date 2025/01/13
+ */
+@Data
+@TableName(value = "policies_regulations_management")
+@ApiModel(value = "PoliciesRegulationsManagement", description = "鏀跨瓥娉曡瀵硅薄")
+public class PoliciesRegulationsManagement extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * id
+     */
+    private Long id;
+
+    /**
+     * 鏀跨瓥鏍囬
+     */
+    @Excel(name = "鏀跨瓥鏍囬")
+    private String title;
+
+    /**
+     * 鏀跨瓥绫诲瀷
+     */
+    @Excel(name = "鏀跨瓥绫诲瀷")
+    private Integer type;
+
+    /**
+     * 鍗板彂閮ㄩ棬
+     */
+    @Excel(name = "鍗板彂閮ㄩ棬")
+    private String dept;
+
+    /**
+     * 鍗板彂鏃堕棿
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "鍗板彂鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date issuingTime;
+
+    /**
+     * 鏂囦欢鍦板潃
+     */
+    @Excel(name = "鏂囦欢鍦板潃")
+    private String address;
+
+    /**
+     * 鍒犻櫎鏍囧織锛�0锛氭甯革紱1锛氬垹闄わ級
+     */
+    private Integer delFlag;
+}
diff --git a/zhitan-system/src/main/java/com/zhitan/saving/domain/vo/DropdownListVO.java b/zhitan-system/src/main/java/com/zhitan/saving/domain/vo/DropdownListVO.java
new file mode 100644
index 0000000..fb878eb
--- /dev/null
+++ b/zhitan-system/src/main/java/com/zhitan/saving/domain/vo/DropdownListVO.java
@@ -0,0 +1,24 @@
+package com.zhitan.saving.domain.vo;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import lombok.Data;
+
+/**
+ * 涓嬫媺鍒楄〃vo
+ * @Author DYL
+ **/
+@Data
+public class DropdownListVO {
+
+    /**
+     * id
+     */
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long id;
+
+    /**
+     * 鍚嶇О
+     */
+    private String name;
+}
diff --git a/zhitan-system/src/main/java/com/zhitan/saving/domain/vo/EnergySavingProgramVO.java b/zhitan-system/src/main/java/com/zhitan/saving/domain/vo/EnergySavingProgramVO.java
new file mode 100644
index 0000000..b3e64a8
--- /dev/null
+++ b/zhitan-system/src/main/java/com/zhitan/saving/domain/vo/EnergySavingProgramVO.java
@@ -0,0 +1,15 @@
+package com.zhitan.saving.domain.vo;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import com.zhitan.saving.domain.entity.EnergySavingProgram;
+
+/**
+ * 鑺傝兘椤圭洰绠$悊 VO
+ * @author Geoffrey
+ * @date 2025/01/13
+ */
+public class EnergySavingProgramVO extends EnergySavingProgram {
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long id;
+}
\ No newline at end of file
diff --git a/zhitan-system/src/main/java/com/zhitan/saving/domain/vo/PoliciesRegulationsManagementDetailVO.java b/zhitan-system/src/main/java/com/zhitan/saving/domain/vo/PoliciesRegulationsManagementDetailVO.java
new file mode 100644
index 0000000..372adc9
--- /dev/null
+++ b/zhitan-system/src/main/java/com/zhitan/saving/domain/vo/PoliciesRegulationsManagementDetailVO.java
@@ -0,0 +1,57 @@
+package com.zhitan.saving.domain.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import com.zhitan.common.annotation.Excel;
+import lombok.Data;
+
+import java.util.Date;
+
+
+/**
+ * 鏀跨瓥娉曡瀵硅薄vo
+ * @author Geoffrey
+ * @date 2025/01/13
+ */
+@Data
+public class PoliciesRegulationsManagementDetailVO {
+
+    /**
+     * id
+     */
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long id;
+
+    /**
+     * 鏀跨瓥鏍囬
+     */
+    @Excel(name = "鏀跨瓥鏍囬")
+    private String title;
+
+    /**
+     * 鏀跨瓥绫诲瀷
+     */
+    @Excel(name = "鏀跨瓥绫诲瀷")
+    private Integer type;
+
+    /**
+     * 鍗板彂閮ㄩ棬
+     */
+    @Excel(name = "鍗板彂閮ㄩ棬")
+    private String dept;
+
+    /**
+     * 鍗板彂鏃堕棿
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "鍗板彂鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date issuingTime;
+
+    /**
+     * 鏂囦欢鍦板潃
+     */
+    @Excel(name = "鏂囦欢鍦板潃")
+    private String address;
+
+}
diff --git a/zhitan-system/src/main/java/com/zhitan/saving/domain/vo/PoliciesRegulationsManagementPageVO.java b/zhitan-system/src/main/java/com/zhitan/saving/domain/vo/PoliciesRegulationsManagementPageVO.java
new file mode 100644
index 0000000..b98001e
--- /dev/null
+++ b/zhitan-system/src/main/java/com/zhitan/saving/domain/vo/PoliciesRegulationsManagementPageVO.java
@@ -0,0 +1,56 @@
+package com.zhitan.saving.domain.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import com.zhitan.common.annotation.Excel;
+import lombok.Data;
+
+import java.util.Date;
+
+
+/**
+ * 鏀跨瓥娉曡page vo
+ * @author Geoffrey
+ * @date 2025/01/13
+ */
+@Data
+public class PoliciesRegulationsManagementPageVO {
+
+    /**
+     * id
+     */
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long id;
+
+    /**
+     * 鏀跨瓥鏍囬
+     */
+    @Excel(name = "鏀跨瓥鏍囬")
+    private String title;
+
+    /**
+     * 鏀跨瓥绫诲瀷
+     */
+    @Excel(name = "鏀跨瓥绫诲瀷")
+    private String type;
+
+    /**
+     * 鍗板彂閮ㄩ棬
+     */
+    @Excel(name = "鍗板彂閮ㄩ棬")
+    private String dept;
+
+    /**
+     * 鍗板彂鏃堕棿
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "鍗板彂鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date issuingTime;
+
+    /**
+     * 鏂囦欢鍦板潃
+     */
+    @Excel(name = "鏂囦欢鍦板潃")
+    private String url;
+}
diff --git a/zhitan-system/src/main/java/com/zhitan/saving/mapper/EnergySavingProgramMapper.java b/zhitan-system/src/main/java/com/zhitan/saving/mapper/EnergySavingProgramMapper.java
new file mode 100644
index 0000000..c680252
--- /dev/null
+++ b/zhitan-system/src/main/java/com/zhitan/saving/mapper/EnergySavingProgramMapper.java
@@ -0,0 +1,27 @@
+package com.zhitan.saving.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhitan.saving.domain.entity.EnergySavingProgram;
+
+/**
+ * 鑺傝兘椤圭洰绠$悊
+ * Mapper鎺ュ彛
+ *
+ * @author ZhiTan
+ * @date 2024-12-26
+ */
+public interface EnergySavingProgramMapper extends BaseMapper<EnergySavingProgram> {
+    /**
+     * 鏌ヨ
+     * 鑺傝兘椤圭洰绠$悊
+     *
+     * @param id 鑺傝兘椤圭洰绠$悊
+     *           涓婚敭
+     * @return 鑺傝兘椤圭洰绠$悊
+     */
+    EnergySavingProgram selectEnergySavingProgramById(Long id);
+
+
+
+}
diff --git a/zhitan-system/src/main/java/com/zhitan/saving/mapper/PoliciesRegulationsManagementMapper.java b/zhitan-system/src/main/java/com/zhitan/saving/mapper/PoliciesRegulationsManagementMapper.java
new file mode 100644
index 0000000..ccac7b8
--- /dev/null
+++ b/zhitan-system/src/main/java/com/zhitan/saving/mapper/PoliciesRegulationsManagementMapper.java
@@ -0,0 +1,30 @@
+package com.zhitan.saving.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zhitan.common.annotation.DataSource;
+import com.zhitan.common.enums.DataSourceType;
+import com.zhitan.saving.domain.dto.PoliciesRegulationsManagementPageDTO;
+import com.zhitan.saving.domain.entity.PoliciesRegulationsManagement;
+import com.zhitan.saving.domain.vo.PoliciesRegulationsManagementPageVO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * 鏀跨瓥娉曡Mapper鎺ュ彛
+ *
+ * @author ZhiTan
+ * @date 2024-12-26
+ */
+@Mapper
+@DataSource(value = DataSourceType.MASTER)
+public interface PoliciesRegulationsManagementMapper extends BaseMapper<PoliciesRegulationsManagement> {
+
+
+    /**
+     * 鏀跨瓥娉曡-鍒楄〃鍒嗛〉鏌ヨ
+     */
+    Page<PoliciesRegulationsManagementPageVO> getPageList(Page<PoliciesRegulationsManagementPageVO> pageInfo, @Param("dto") PoliciesRegulationsManagementPageDTO pageDTO);
+
+
+}
diff --git a/zhitan-system/src/main/java/com/zhitan/saving/service/IEnergySavingProgramService.java b/zhitan-system/src/main/java/com/zhitan/saving/service/IEnergySavingProgramService.java
new file mode 100644
index 0000000..9eea3a2
--- /dev/null
+++ b/zhitan-system/src/main/java/com/zhitan/saving/service/IEnergySavingProgramService.java
@@ -0,0 +1,68 @@
+package com.zhitan.saving.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zhitan.common.core.domain.AjaxResult;
+import com.zhitan.saving.domain.entity.EnergySavingProgram;
+import com.zhitan.saving.domain.dto.EnergySavingProgramDTO;
+import com.zhitan.saving.domain.vo.EnergySavingProgramVO;
+
+/**
+ * 鑺傝兘椤圭洰绠$悊
+ * Service鎺ュ彛
+ *
+ * @author ZhiTan
+ * @date 2024-12-26
+ */
+public interface IEnergySavingProgramService extends IService<EnergySavingProgram> {
+    /**
+     * 鏌ヨ
+     * 鑺傝兘椤圭洰绠$悊
+     *
+     * @param id 鑺傝兘椤圭洰绠$悊
+     *           涓婚敭
+     * @return 鑺傝兘椤圭洰绠$悊
+     */
+    EnergySavingProgram selectEnergySavingProgramById(Long id);
+
+    /**
+     * 鏌ヨ
+     * 鑺傝兘椤圭洰绠$悊
+     * 鍒楄〃
+     *
+     * @param energySavingProgram 鑺傝兘椤圭洰绠$悊
+     * @return 鑺傝兘椤圭洰绠$悊
+     * 闆嗗悎
+     */
+    Page<EnergySavingProgramVO> selectEnergySavingProgramList(EnergySavingProgram energySavingProgram);
+
+    /**
+     * 鏂板
+     * 鑺傝兘椤圭洰绠$悊
+     *
+     * @param dto
+     * @return 缁撴灉
+     */
+    AjaxResult insertEnergySavingProgram(EnergySavingProgramDTO dto);
+
+    /**
+     * 淇敼
+     * 鑺傝兘椤圭洰绠$悊
+     *
+     * @param dto
+     * @return 缁撴灉
+     */
+    AjaxResult updateEnergySavingProgram(EnergySavingProgramDTO dto);
+
+
+    /**
+     * 鍒犻櫎
+     * 鑺傝兘椤圭洰绠$悊
+     * 淇℃伅
+     *
+     * @param id 鑺傝兘椤圭洰绠$悊
+     *           涓婚敭
+     * @return 缁撴灉
+     */
+    AjaxResult deleteEnergySavingProgramById(Long id);
+}
diff --git a/zhitan-system/src/main/java/com/zhitan/saving/service/IPoliciesRegulationsManagementService.java b/zhitan-system/src/main/java/com/zhitan/saving/service/IPoliciesRegulationsManagementService.java
new file mode 100644
index 0000000..d9ac897
--- /dev/null
+++ b/zhitan-system/src/main/java/com/zhitan/saving/service/IPoliciesRegulationsManagementService.java
@@ -0,0 +1,43 @@
+package com.zhitan.saving.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zhitan.saving.domain.entity.PoliciesRegulationsManagement;
+import com.zhitan.saving.domain.dto.PoliciesRegulationsDTO;
+import com.zhitan.saving.domain.dto.PoliciesRegulationsManagementPageDTO;
+import com.zhitan.saving.domain.vo.PoliciesRegulationsManagementDetailVO;
+import com.zhitan.saving.domain.vo.PoliciesRegulationsManagementPageVO;
+
+/**
+ * 鏀跨瓥娉曡Service鎺ュ彛
+ *
+ * @author ZhiTan
+ * @date 2024-12-26
+ */
+public interface IPoliciesRegulationsManagementService extends IService<PoliciesRegulationsManagement> {
+
+    /**
+     * 鏀跨瓥娉曡-鍒楄〃鏌ヨ
+     */
+    Page<PoliciesRegulationsManagementPageVO> getPageList(PoliciesRegulationsManagementPageDTO pageDTO);
+
+    /**
+     * 鏀跨瓥娉曡-鏌ヨ璇︽儏
+     */
+    PoliciesRegulationsManagementDetailVO getDetail(Long id);
+
+    /**
+     * 鏀跨瓥娉曡-鏂板
+     */
+    void add(PoliciesRegulationsDTO addDTO);
+
+    /**
+     * 鏀跨瓥娉曡-鏇存柊
+     */
+    void edit(PoliciesRegulationsDTO editDTO);
+
+    /**
+     * 鏀跨瓥娉曡-鍒犻櫎
+     */
+    void delete(Long id);
+}
diff --git a/zhitan-system/src/main/java/com/zhitan/saving/service/impl/EnergySavingProgramServiceImpl.java b/zhitan-system/src/main/java/com/zhitan/saving/service/impl/EnergySavingProgramServiceImpl.java
new file mode 100644
index 0000000..7078ddf
--- /dev/null
+++ b/zhitan-system/src/main/java/com/zhitan/saving/service/impl/EnergySavingProgramServiceImpl.java
@@ -0,0 +1,153 @@
+package com.zhitan.saving.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zhitan.common.constant.CommonConst;
+import com.zhitan.common.core.domain.AjaxResult;
+import com.zhitan.common.exception.ServiceException;
+import com.zhitan.common.utils.DateUtils;
+import com.zhitan.common.utils.PageUtils;
+import com.zhitan.common.utils.bean.BeanUtils;
+import com.zhitan.saving.domain.dto.EnergySavingProgramDTO;
+import com.zhitan.saving.domain.entity.EnergySavingProgram;
+import com.zhitan.saving.domain.vo.EnergySavingProgramVO;
+import com.zhitan.saving.mapper.EnergySavingProgramMapper;
+import com.zhitan.saving.service.IEnergySavingProgramService;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.text.ParseException;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 鑺傝兘椤圭洰绠$悊
+ * Service涓氬姟灞傚鐞�
+ *
+ * @author ZhiTan
+ * @date 2024-12-26
+ */
+@Service
+public class EnergySavingProgramServiceImpl extends ServiceImpl<EnergySavingProgramMapper, EnergySavingProgram> implements IEnergySavingProgramService {
+    @Resource
+    private EnergySavingProgramMapper energySavingProgramMapper;
+
+    /**
+     * 鏌ヨ
+     * 鑺傝兘椤圭洰绠$悊
+     *
+     * @param id 鑺傝兘椤圭洰绠$悊
+     *           涓婚敭
+     * @return 鑺傝兘椤圭洰绠$悊
+     */
+    @Override
+    public   EnergySavingProgram selectEnergySavingProgramById(Long id) {
+        return energySavingProgramMapper.selectEnergySavingProgramById(id);
+    }
+
+    /**
+     * 鏌ヨ
+     * 鑺傝兘椤圭洰绠$悊
+     * 鍒楄〃
+     *
+     * @param energySavingProgram 鑺傝兘椤圭洰绠$悊
+     * @return 鑺傝兘椤圭洰绠$悊
+     */
+    @Override
+    public Page<EnergySavingProgramVO> selectEnergySavingProgramList(  EnergySavingProgram energySavingProgram) {
+
+        Page<  EnergySavingProgram> pageInfo = PageUtils.getPageInfo(  EnergySavingProgram.class);
+
+
+        Page<  EnergySavingProgram> energySavingProgramPage = this.baseMapper.selectPage(pageInfo,
+                new LambdaQueryWrapper<  EnergySavingProgram>().eq(EnergySavingProgram::getDel, CommonConst.DEL_FLAG_0)
+//                        .eq(ObjectUtils.isNotEmpty(energySavingProgram.getEndTime()), EnergySavingProgram::getEndTime, energySavingProgram.getEndTime())
+                        .orderByDesc(EnergySavingProgram::getCreateTime)
+        );
+
+        List<  EnergySavingProgram> energySavingProgramList = energySavingProgramPage.getRecords();
+
+        List<EnergySavingProgramVO> voList = new ArrayList<>();
+        energySavingProgramList.stream().forEach(indexInfo -> {
+            EnergySavingProgramVO infoVO = new EnergySavingProgramVO();
+            BeanUtils.copyProperties(indexInfo, infoVO);
+            voList.add(infoVO);
+        });
+
+        Page<EnergySavingProgramVO> responsePage = PageUtils.getPageInfo(EnergySavingProgramVO.class);
+        responsePage.setTotal(energySavingProgramPage.getTotal());
+        responsePage.setRecords(voList);
+        return responsePage;
+    }
+
+    /**
+     * 鏂板
+     * 鑺傝兘椤圭洰绠$悊
+     *
+     * @param dto
+     * @return 缁撴灉
+     * @throws ParseException
+     */
+    @Override
+    @Transactional
+    public AjaxResult insertEnergySavingProgram(EnergySavingProgramDTO dto) {
+              EnergySavingProgram energySavingProgram = new   EnergySavingProgram();
+            BeanUtils.copyProperties(dto, energySavingProgram);
+            energySavingProgram.setCreateTime(DateUtils.getNowDate());
+            energySavingProgram.setDel(0L);
+            return AjaxResult.success(energySavingProgramMapper.insert(energySavingProgram));
+
+    }
+
+
+    /**
+     * 淇敼
+     * 鑺傝兘椤圭洰绠$悊
+     *
+     * @param dto
+     * @return 缁撴灉
+     */
+    @Override
+    @Transactional
+    public AjaxResult updateEnergySavingProgram(EnergySavingProgramDTO dto) {
+          EnergySavingProgram vo = this.baseMapper.selectEnergySavingProgramById(dto.getId());
+        if (vo == null) {
+            throw new ServiceException("鏈壘鍒板搴斿疄浣�");
+        } else {
+            BeanUtils.copyProperties(dto, vo);
+            vo.setDel(CommonConst.DEL_FLAG_0.longValue());
+            int i = energySavingProgramMapper.updateById(vo);
+            return AjaxResult.success(i);
+        }
+
+
+    }
+
+    /**
+     * 鍒犻櫎
+     * 鑺傝兘椤圭洰绠$悊
+     * 淇℃伅
+     *
+     * @param id 鑺傝兘椤圭洰绠$悊
+     *           涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    @Transactional
+    public AjaxResult deleteEnergySavingProgramById(Long id) {
+
+          EnergySavingProgram vo = this.baseMapper.selectEnergySavingProgramById(id);
+        if (vo == null) {
+            throw new ServiceException("鏈壘鍒板搴斿疄浣�");
+        } else {
+            vo.setUpdateTime(DateUtils.getNowDate());
+            vo.setDel(CommonConst.DEL_FLAG_1.longValue());
+            int i = energySavingProgramMapper.updateById(vo);
+            return AjaxResult.success(i);
+        }
+
+    }
+
+}
diff --git a/zhitan-system/src/main/java/com/zhitan/saving/service/impl/PoliciesRegulationsManagementServiceImpl.java b/zhitan-system/src/main/java/com/zhitan/saving/service/impl/PoliciesRegulationsManagementServiceImpl.java
new file mode 100644
index 0000000..ffe11da
--- /dev/null
+++ b/zhitan-system/src/main/java/com/zhitan/saving/service/impl/PoliciesRegulationsManagementServiceImpl.java
@@ -0,0 +1,110 @@
+package com.zhitan.saving.service.impl;
+
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zhitan.common.constant.CommonConst;
+import com.zhitan.common.exception.ServiceException;
+import com.zhitan.common.utils.PageUtils;
+import com.zhitan.common.utils.SecurityUtils;
+import com.zhitan.common.utils.bean.BeanUtils;
+import com.zhitan.common.utils.id.IdGenUtil;
+import com.zhitan.saving.domain.dto.PoliciesRegulationsDTO;
+import com.zhitan.saving.domain.dto.PoliciesRegulationsManagementPageDTO;
+import com.zhitan.saving.domain.entity.PoliciesRegulationsManagement;
+import com.zhitan.saving.domain.vo.PoliciesRegulationsManagementDetailVO;
+import com.zhitan.saving.domain.vo.PoliciesRegulationsManagementPageVO;
+import com.zhitan.saving.mapper.PoliciesRegulationsManagementMapper;
+import com.zhitan.saving.service.IPoliciesRegulationsManagementService;
+import org.apache.commons.lang3.ObjectUtils;
+import org.springframework.stereotype.Service;
+
+/**
+ * 鏀跨瓥娉曡Service涓氬姟灞傚鐞�
+ *
+ * @author ZhiTan
+ * @date 2024-12-26
+ */
+@Service
+public class PoliciesRegulationsManagementServiceImpl extends ServiceImpl<PoliciesRegulationsManagementMapper, PoliciesRegulationsManagement> implements IPoliciesRegulationsManagementService {
+
+    /**
+     * 鏀跨瓥娉曡-鍒楄〃鏌ヨ
+     */
+
+    @Override
+    public Page<PoliciesRegulationsManagementPageVO> getPageList(PoliciesRegulationsManagementPageDTO pageDTO) {
+        Page<PoliciesRegulationsManagementPageVO> pageInfo = PageUtils.getPageInfo(PoliciesRegulationsManagementPageVO.class);
+        return baseMapper.getPageList(pageInfo, pageDTO);
+    }
+
+    /**
+     * 鏀跨瓥娉曡-鏌ヨ璇︽儏
+     */
+    @Override
+    public PoliciesRegulationsManagementDetailVO getDetail(Long id) {
+        PoliciesRegulationsManagement policiesRegulationsManagement = baseMapper.selectById(id);
+        if (ObjectUtils.isEmpty(policiesRegulationsManagement)) {
+            return null;
+        }
+        PoliciesRegulationsManagementDetailVO detailVO = new PoliciesRegulationsManagementDetailVO();
+        BeanUtils.copyProperties(policiesRegulationsManagement, detailVO);
+        return detailVO;
+    }
+
+
+
+    /**
+     * 鏀跨瓥娉曡-鏂板
+     */
+    @Override
+    public void add(PoliciesRegulationsDTO addDTO) {
+
+        long pid = IdGenUtil.nextLongId();
+        String username = SecurityUtils.getUsername();
+        PoliciesRegulationsManagement policiesRegulationsManagement = new PoliciesRegulationsManagement();
+        policiesRegulationsManagement.setId(pid);
+        policiesRegulationsManagement.setDelFlag(0);
+        policiesRegulationsManagement.setCreateBy(username);
+        BeanUtils.copyProperties(addDTO, policiesRegulationsManagement);
+        // 鏂板鏀跨瓥娉曡
+        baseMapper.insert(policiesRegulationsManagement);
+
+
+    }
+
+    /**
+     * 鏀跨瓥娉曡-鏇存柊
+     */
+    @Override
+    public void edit(PoliciesRegulationsDTO editDTO) {
+        if (ObjectUtils.isEmpty(editDTO.getId())) {
+            throw new ServiceException("鏀跨瓥ID涓嶈兘涓虹┖");
+        }
+        // 鑾峰彇鏀跨瓥娉曡
+        PoliciesRegulationsManagement policiesRegulationsManagement = baseMapper.selectById(editDTO.getId());
+        if (ObjectUtils.isEmpty(policiesRegulationsManagement)) {
+            throw new ServiceException("鏈壘鍒板搴斿疄浣�");
+        }
+        BeanUtils.copyProperties(editDTO, policiesRegulationsManagement);
+
+        baseMapper.updateById(policiesRegulationsManagement);
+    }
+
+    /**
+     * 鏀跨瓥娉曡-鍒犻櫎
+     */
+    @Override
+    public void delete(Long id) {
+        // 鑾峰彇鏀跨瓥娉曡
+        PoliciesRegulationsManagement policiesRegulationsManagement = baseMapper.selectById(id);
+        if (ObjectUtils.isEmpty(policiesRegulationsManagement)) {
+            throw new ServiceException("鏈壘鍒板搴斿疄浣�");
+
+        }
+        policiesRegulationsManagement.setDelFlag(CommonConst.DEL_FLAG_1);
+        baseMapper.updateById(policiesRegulationsManagement);
+
+    }
+
+}
diff --git a/zhitan-system/src/main/resources/mapper/saving/EnergySavingProgramMapper.xml b/zhitan-system/src/main/resources/mapper/saving/EnergySavingProgramMapper.xml
new file mode 100644
index 0000000..a93dd8a
--- /dev/null
+++ b/zhitan-system/src/main/resources/mapper/saving/EnergySavingProgramMapper.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zhitan.saving.mapper.EnergySavingProgramMapper">
+
+    <resultMap type="EnergySavingProgram" id="EnergySavingProgramResult">
+        <result property="id"    column="id"    />
+        <result property="name"    column="name"    />
+        <result property="plan"    column="plan"    />
+        <result property="target"    column="target"    />
+        <result property="startTime"    column="start_time"    />
+        <result property="endTime"    column="end_time"    />
+        <result property="liablePerson"    column="liable_person"    />
+        <result property="formulateTime"    column="formulate_time"    />
+        <result property="implementationPlan"    column="implementation_plan"    />
+        <result property="currentWork"    column="current_work"    />
+        <result property="savingAmount"    column="saving_amount"    />
+        <result property="remark"    column="remark"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="del"    column="del"    />
+    </resultMap>
+
+    <sql id="selectEnergySavingProgramVo">
+        select id,plan,completion_time,liable_person,create_by,update_by,create_time,update_time,del,implementation_plan,current_work,saving_amount,remark from energy_saving_program
+    </sql>
+
+
+
+    <select id="selectEnergySavingProgramById" parameterType="Long" resultMap="EnergySavingProgramResult">
+        <include refid="selectEnergySavingProgramVo"/>
+        where id = #{id}
+    </select>
+
+
+</mapper>
\ No newline at end of file
diff --git a/zhitan-system/src/main/resources/mapper/saving/PoliciesRegulationsManagementMapper.xml b/zhitan-system/src/main/resources/mapper/saving/PoliciesRegulationsManagementMapper.xml
new file mode 100644
index 0000000..90a9c2f
--- /dev/null
+++ b/zhitan-system/src/main/resources/mapper/saving/PoliciesRegulationsManagementMapper.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zhitan.saving.mapper.PoliciesRegulationsManagementMapper">
+    <select id="getPageList" resultType="com.zhitan.saving.domain.vo.PoliciesRegulationsManagementPageVO">
+        select id,
+        title,
+        type,
+        dept,
+        issuing_time,
+        address
+        from policies_regulations_management
+        <where>
+            del_flag = 0
+            <if test="dto.type != null">
+                and type = #{dto.type}
+            </if>
+            <if test="dto.title != null and dto.title != ''">
+                and title like concat('%',#{dto.title},'%')
+            </if>
+        </where>
+        order by issuing_time desc
+    </select>
+
+</mapper>
\ No newline at end of file

--
Gitblit v1.9.3