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