Geoffrey
2025-01-13 d0d174b591e2372ef79af3e81714db8eead52187
政策和节能项目
已添加21个文件
1158 ■■■■■ 文件已修改
zhitan-admin/src/main/java/com/zhitan/web/controller/saving/EnergySavingProgramController.java 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-admin/src/main/java/com/zhitan/web/controller/saving/PoliciesRegulationsManagementController.java 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-common/src/main/java/com/zhitan/common/utils/id/IdGenUtil.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-common/src/main/java/com/zhitan/common/utils/id/IncrLongIdUtil.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/src/main/java/com/zhitan/saving/domain/dto/EnergySavingProgramDTO.java 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/src/main/java/com/zhitan/saving/domain/dto/PoliciesRegulationsDTO.java 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/src/main/java/com/zhitan/saving/domain/dto/PoliciesRegulationsManagementPageDTO.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/src/main/java/com/zhitan/saving/domain/entity/EnergySavingProgram.java 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/src/main/java/com/zhitan/saving/domain/entity/PoliciesRegulationsManagement.java 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/src/main/java/com/zhitan/saving/domain/vo/DropdownListVO.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/src/main/java/com/zhitan/saving/domain/vo/EnergySavingProgramVO.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/src/main/java/com/zhitan/saving/domain/vo/PoliciesRegulationsManagementDetailVO.java 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/src/main/java/com/zhitan/saving/domain/vo/PoliciesRegulationsManagementPageVO.java 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/src/main/java/com/zhitan/saving/mapper/EnergySavingProgramMapper.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/src/main/java/com/zhitan/saving/mapper/PoliciesRegulationsManagementMapper.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/src/main/java/com/zhitan/saving/service/IEnergySavingProgramService.java 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/src/main/java/com/zhitan/saving/service/IPoliciesRegulationsManagementService.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/src/main/java/com/zhitan/saving/service/impl/EnergySavingProgramServiceImpl.java 153 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/src/main/java/com/zhitan/saving/service/impl/PoliciesRegulationsManagementServiceImpl.java 110 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/src/main/resources/mapper/saving/EnergySavingProgramMapper.xml 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/src/main/resources/mapper/saving/PoliciesRegulationsManagementMapper.xml 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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);
    }
}
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();
    }
}
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());
    }
}
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);
    }
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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);
}
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);
}
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);
}
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);
}
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);
        }
    }
}
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);
    }
}
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>
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>