!38 添加节能项目管理和政策法规页面
Merge pull request !38 from 张嘉伟/zcc_dev
已添加25个文件
已删除75个文件
已修改5个文件
13251 ■■■■ 文件已修改
.workflow/branch-pipeline.yml 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.workflow/master-pipeline.yml 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.workflow/pr-pipeline.yml 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
README.md 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
readme/技术架构-1.png 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-admin/src/main/java/com/zhitan/web/controller/basicdata/SysEnerclassController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
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-admin/target/classes/META-INF/spring-devtools.properties 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-admin/target/classes/application-dev.yml 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-admin/target/classes/application-prod.yml 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-admin/target/classes/application.yml 173 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-admin/target/classes/banner.txt 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-admin/target/classes/i18n/messages.properties 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-admin/target/classes/logback.xml 93 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-admin/target/classes/mybatis/mybatis-config.xml 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-common/src/main/java/com/zhitan/common/constant/CommonConst.java 1053 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-common/src/main/java/com/zhitan/common/core/domain/BaseEntity.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-common/src/main/java/com/zhitan/common/utils/PageUtils.java 11 ●●●●● 补丁 | 查看 | 原始文档 | 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-generator/target/classes/generator.yml 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-generator/target/classes/mapper/generator/GenTableColumnMapper.xml 154 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-generator/target/classes/mapper/generator/GenTableMapper.xml 172 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-generator/target/classes/vm/java/controller.java.vm 108 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-generator/target/classes/vm/java/domain.java.vm 112 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-generator/target/classes/vm/java/mapper.java.vm 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-generator/target/classes/vm/java/service.java.vm 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-generator/target/classes/vm/java/serviceImpl.java.vm 162 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-generator/target/classes/vm/java/sub-domain.java.vm 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-generator/target/classes/vm/js/api.js.vm 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-generator/target/classes/vm/sql/sql.vm 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-generator/target/classes/vm/vue/index-tree.vue.vm 505 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-generator/target/classes/vm/vue/index.vue.vm 602 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-generator/target/classes/vm/vue/v3/index-tree.vue.vm 474 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-generator/target/classes/vm/vue/v3/index.vue.vm 590 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-generator/target/classes/vm/xml/mapper.xml.vm 126 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-quartz/target/classes/mapper/quartz/SysJobLogMapper.xml 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-quartz/target/classes/mapper/quartz/SysJobMapper.xml 111 ●●●●● 补丁 | 查看 | 原始文档 | 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-system/target/classes/mapper/alarm/AlarmItemMapper.xml 226 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/target/classes/mapper/alarm/AlarmLimitTypeMapper.xml 92 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/target/classes/mapper/alarm/HistoryAlarmMapper.xml 339 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/target/classes/mapper/alarm/RealtimeAlarmMapper.xml 238 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/target/classes/mapper/auxiliaryinput/ProductOutputMapper.xml 121 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/target/classes/mapper/basicdata/FacilityAnnexMapper.xml 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/target/classes/mapper/basicdata/FacilityArchivesMapper.xml 183 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/target/classes/mapper/basicdata/MeterAnnexMapper.xml 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/target/classes/mapper/basicdata/MeterImplementCountMapper.xml 143 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/target/classes/mapper/basicdata/MeterImplementMapper.xml 239 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/target/classes/mapper/basicdata/SysEnerclassMapper.xml 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/target/classes/mapper/basicdata/SysEnergyMapper.xml 263 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/target/classes/mapper/comprehensivestatistics/ComprehensiveStatisticsMapper.xml 172 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/target/classes/mapper/comprehensivestatistics/DailyComprehensiveMapper.xml 93 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/target/classes/mapper/dataitem/DataItemMapper.xml 202 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/target/classes/mapper/energyIndicators/EnergyIndicatorsMapper.xml 124 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/target/classes/mapper/gatewaysetting/GatewaySettingMapper.xml 160 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/target/classes/mapper/keyequipment/DailyKeyEquipmentMapper.xml 93 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/target/classes/mapper/keyequipment/MonthlyKeyEquipmentMapper.xml 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/target/classes/mapper/keyequipment/YearKeyEquipmentMapper.xml 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/target/classes/mapper/meter/MeterImplementMapper.xml 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/target/classes/mapper/model/CalcFunctionMapper.xml 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/target/classes/mapper/model/DaqTemplateMapper.xml 93 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/target/classes/mapper/model/EnergyIndexMapper.xml 394 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/target/classes/mapper/model/IndexFormulaMapper.xml 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/target/classes/mapper/model/IndexStorageMapper.xml 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/target/classes/mapper/model/ModelInfoMapper.xml 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/target/classes/mapper/model/ModelNodeMapper.xml 430 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/target/classes/mapper/peakvalley/ElectricityDataItemMapper.xml 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/target/classes/mapper/peakvalley/ElectricityPriceDateMapper.xml 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/target/classes/mapper/peakvalley/EletricityPriceMapper.xml 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/target/classes/mapper/realtimedata/PeriodDataMapper.xml 501 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/target/classes/mapper/realtimedata/SysEquipmentFileMapper.xml 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/target/classes/mapper/system/SysConfigMapper.xml 112 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/target/classes/mapper/system/SysDeptMapper.xml 182 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/target/classes/mapper/system/SysDictDataMapper.xml 124 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/target/classes/mapper/system/SysDictTypeMapper.xml 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/target/classes/mapper/system/SysLoginInfoMapper.xml 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/target/classes/mapper/system/SysMenuMapper.xml 206 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/target/classes/mapper/system/SysNameConfigMapper.xml 93 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/target/classes/mapper/system/SysNoticeMapper.xml 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/target/classes/mapper/system/SysOperLogMapper.xml 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/target/classes/mapper/system/SysPostMapper.xml 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/target/classes/mapper/system/SysRoleDeptMapper.xml 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/target/classes/mapper/system/SysRoleMapper.xml 157 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/target/classes/mapper/system/SysRoleMenuMapper.xml 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/target/classes/mapper/system/SysUserMapper.xml 227 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/target/classes/mapper/system/SysUserPostMapper.xml 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhitan-system/target/classes/mapper/system/SysUserRoleMapper.xml 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.workflow/branch-pipeline.yml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,53 @@
version: '1.0'
name: branch-pipeline
displayName: BranchPipeline
stages:
  - stage:
    name: compile
    displayName: ç¼–译
    steps:
      - step: build@maven
        name: build_maven
        displayName: Maven æž„建
        # æ”¯æŒ6、7、8、9、10、11六个版本
        jdkVersion: 8
        # æ”¯æŒ2.2.1、3.2.5、3.3.9、3.5.2、3.5.3、3.5.4、3.6.1、3.6.3八个版本
        mavenVersion: 3.3.9
        # æž„建命令
        commands:
          - mvn -B clean package -Dmaven.test.skip=true
        # éžå¿…填字段,开启后表示将构建产物暂存,但不会上传到制品库中,7天后自动清除
        artifacts:
            # æž„建产物名字,作为产物的唯一标识可向下传递,支持自定义,默认为BUILD_ARTIFACT。在下游可以通过${BUILD_ARTIFACT}方式引用来获取构建物地址
          - name: BUILD_ARTIFACT
            # æž„建产物获取路径,是指代码编译完毕之后构建物的所在路径,如通常jar包在target目录下。当前目录为代码库根目录
            path:
              - ./target
      - step: publish@general_artifacts
        name: publish_general_artifacts
        displayName: ä¸Šä¼ åˆ¶å“
        # ä¸Šæ¸¸æž„建任务定义的产物名,默认BUILD_ARTIFACT
        dependArtifact: BUILD_ARTIFACT
        # ä¸Šä¼ åˆ°åˆ¶å“åº“时的制品命名,默认output
        artifactName: output
        dependsOn: build_maven
  - stage:
    name: release
    displayName: å‘布
    steps:
      - step: publish@release_artifacts
        name: publish_release_artifacts
        displayName: '发布'
        # ä¸Šæ¸¸ä¸Šä¼ åˆ¶å“ä»»åŠ¡çš„äº§å‡º
        dependArtifact: output
        # å‘布制品版本号
        version: '1.0.0.0'
        # æ˜¯å¦å¼€å¯ç‰ˆæœ¬å·è‡ªå¢žï¼Œé»˜è®¤å¼€å¯
        autoIncrement: true
triggers:
  push:
    branches:
      exclude:
        - master
      include:
        - .*
.workflow/master-pipeline.yml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,51 @@
version: '1.0'
name: master-pipeline
displayName: MasterPipeline
stages:
  - stage:
    name: compile
    displayName: ç¼–译
    steps:
      - step: build@maven
        name: build_maven
        displayName: Maven æž„建
        # æ”¯æŒ6、7、8、9、10、11六个版本
        jdkVersion: 8
        # æ”¯æŒ2.2.1、3.2.5、3.3.9、3.5.2、3.5.3、3.5.4、3.6.1、3.6.3八个版本
        mavenVersion: 3.3.9
        # æž„建命令
        commands:
          - mvn -B clean package -Dmaven.test.skip=true
        # éžå¿…填字段,开启后表示将构建产物暂存,但不会上传到制品库中,7天后自动清除
        artifacts:
            # æž„建产物名字,作为产物的唯一标识可向下传递,支持自定义,默认为BUILD_ARTIFACT。在下游可以通过${BUILD_ARTIFACT}方式引用来获取构建物地址
          - name: BUILD_ARTIFACT
            # æž„建产物获取路径,是指代码编译完毕之后构建物的所在路径,如通常jar包在target目录下。当前目录为代码库根目录
            path:
              - ./target
      - step: publish@general_artifacts
        name: publish_general_artifacts
        displayName: ä¸Šä¼ åˆ¶å“
        # ä¸Šæ¸¸æž„建任务定义的产物名,默认BUILD_ARTIFACT
        dependArtifact: BUILD_ARTIFACT
        # ä¸Šä¼ åˆ°åˆ¶å“åº“时的制品命名,默认output
        artifactName: output
        dependsOn: build_maven
  - stage:
    name: release
    displayName: å‘布
    steps:
      - step: publish@release_artifacts
        name: publish_release_artifacts
        displayName: '发布'
        # ä¸Šæ¸¸ä¸Šä¼ åˆ¶å“ä»»åŠ¡çš„äº§å‡º
        dependArtifact: output
        # å‘布制品版本号
        version: '1.0.0.0'
        # æ˜¯å¦å¼€å¯ç‰ˆæœ¬å·è‡ªå¢žï¼Œé»˜è®¤å¼€å¯
        autoIncrement: true
triggers:
  push:
    branches:
      include:
        - master
.workflow/pr-pipeline.yml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,40 @@
version: '1.0'
name: pr-pipeline
displayName: PRPipeline
stages:
  - stage:
    name: compile
    displayName: ç¼–译
    steps:
      - step: build@maven
        name: build_maven
        displayName: Maven æž„建
        # æ”¯æŒ6、7、8、9、10、11六个版本
        jdkVersion: 8
        # æ”¯æŒ2.2.1、3.2.5、3.3.9、3.5.2、3.5.3、3.5.4、3.6.1、3.6.3八个版本
        mavenVersion: 3.3.9
        # æž„建命令
        commands:
          - mvn -B clean package -Dmaven.test.skip=true
        # éžå¿…填字段,开启后表示将构建产物暂存,但不会上传到制品库中,7天后自动清除
        artifacts:
            # æž„建产物名字,作为产物的唯一标识可向下传递,支持自定义,默认为BUILD_ARTIFACT。在下游可以通过${BUILD_ARTIFACT}方式引用来获取构建物地址
          - name: BUILD_ARTIFACT
            # æž„建产物获取路径,是指代码编译完毕之后构建物的所在路径,如通常jar包在target目录下。当前目录为代码库根目录
            path:
              - ./target
      - step: publish@general_artifacts
        name: publish_general_artifacts
        displayName: ä¸Šä¼ åˆ¶å“
        # ä¸Šæ¸¸æž„建任务定义的产物名,默认BUILD_ARTIFACT
        dependArtifact: BUILD_ARTIFACT
        # æž„建产物制品库,默认default,系统默认创建
        artifactRepository: default
        # ä¸Šä¼ åˆ°åˆ¶å“åº“时的制品命名,默认output
        artifactName: output
        dependsOn: build_maven
triggers:
  pr:
    branches:
      include:
        - master
README.md
@@ -1,7 +1,8 @@
<h1 align="center" style="margin: 30px 0 30px; font-weight: bold;">企业能源管理平台</h1>
<h1 align="center" style="margin: 30px 0 30px; font-weight: bold;">智碳能源管理系统</h1>
<h4 align="center">基于SpringBoot和若依框架开发</h4>
<p align="center">
    <a href='https://gitee.com/ustcyc/zhitan-ems/stargazers'><img src='https://gitee.com/ustcyc/zhitan-ems/badge/star.svg?theme=dark' alt='star'></img></a>
    <a href='https://gitee.com/ustcyc/zhitan-ems/members'><img src='https://gitee.com/ustcyc/zhitan-ems/badge/fork.svg?theme=dark' alt='fork'></img></a>
    <a href="https://gitee.com/y_project/RuoYi/blob/master/LICENSE"><img src="https://img.shields.io/github/license/mashape/apistatus.svg"></a>
</p>
@@ -9,6 +10,10 @@
通过物联网技术,采集企业水、电、气、热等能耗数据,帮企业建立能源管理体系,找到跑冒滴漏,从而为企业节能提供依据。
进一步为企业实现碳跟踪、碳盘查、碳交易、谈汇报的全生命过程。 ä¸ºä¸­å›½ç¢³è¾¾å³°-碳中和做出贡献。
针对客户场景:政府、园区、企业、工矿、公共建筑等。
墙内仓库地址(码云):https://gitee.com/ustcyc/zhitan-ems
已同步更新到github仓库:https://github.com/Andy-Yin/zhitan-ems
@@ -103,6 +108,7 @@
## ä¸šåŠ¡æž¶æž„
![输入图片说明](readme/业务架构.png)
## æŠ€æœ¯æž¶æž„
![输入图片说明](readme/技术架构-1.png)
![输入图片说明](readme/技术架构.png)
## å‚与贡献
readme/¼¼Êõ¼Ü¹¹-1.png
zhitan-admin/src/main/java/com/zhitan/web/controller/basicdata/SysEnerclassController.java
@@ -42,7 +42,7 @@
    /**
     * æŸ¥è¯¢æ‰€æœ‰èƒ½æºå“ç§è®¾ç½®åˆ—表
     */
    @PreAuthorize("@ss.hasPermi('enerInfoManage:enerclass:list')")
//    @PreAuthorize("@ss.hasPermi('enerInfoManage:enerclass:list')")
    @GetMapping("/list")
    public AjaxResult list(SysEnerclass sysEnerclass)
    {
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-admin/target/classes/META-INF/spring-devtools.properties
ÎļþÒÑɾ³ý
zhitan-admin/target/classes/application-dev.yml
ÎļþÒÑɾ³ý
zhitan-admin/target/classes/application-prod.yml
ÎļþÒÑɾ³ý
zhitan-admin/target/classes/application.yml
ÎļþÒÑɾ³ý
zhitan-admin/target/classes/banner.txt
ÎļþÒÑɾ³ý
zhitan-admin/target/classes/i18n/messages.properties
ÎļþÒÑɾ³ý
zhitan-admin/target/classes/logback.xml
ÎļþÒÑɾ³ý
zhitan-admin/target/classes/mybatis/mybatis-config.xml
ÎļþÒÑɾ³ý
zhitan-common/src/main/java/com/zhitan/common/constant/CommonConst.java
@@ -1,5 +1,7 @@
package com.zhitan.common.constant;
import java.math.BigDecimal;
/**
 * @Description: å¸¸é‡å°è£…
 * @author: yxw
@@ -22,10 +24,7 @@
     * å­—符串数字 -1
     */
    public static final String STR_NUMBER_MINUS_ONE = "-1";
    /**
     * å­—符串数字 0
     */
    public static final String STR_NUMBER_0 = "0";
    /**
     * å­—符串数字 1
     */
@@ -107,6 +106,90 @@
     */
    public static final int DIGIT_4 = 4;
    /**
     * æ•°å­— 5
     */
    public static final int DIGIT_5 = 5;
    /**
     * æ•°å­— 6
     */
    public static final int DIGIT_6 = 6;
    /**
     * æ•°å­— 7
     */
    public static final int DIGIT_7 = 7;
    /**
     * æ•°å­— 8
     */
    public static final int DIGIT_8 = 8;
    /**
     * æ•°å­— 9
     */
    public static final int DIGIT_9 = 9;
    /**
     * æ•°å­— 10
     */
    public static final int DIGIT_10 = 10;
    /**
     * æ•°å­— 11
     */
    public static final int DIGIT_11 = 11;
    /**
     * æ•°å­— 12
     */
    public static final int DIGIT_12 = 12;
    /**
     * æ•°å­— 13
     */
    public static final int DIGIT_13 = 13;
    /**
     * æ•°å­— 14
     */
    public static final int DIGIT_14 = 14;
    /**
     * æ•°å­— 15
     */
    public static final int DIGIT_15 = 15;
    /**
     * æ•°å­— 16
     */
    public static final int DIGIT_16 = 16;
    /**
     * æ•°å­— 23
     */
    public static final int DIGIT_23 = 23;
    /**
     * æ•°å­— 24
     */
    public static final int DIGIT_24 = 24;
    /**
     * æ•°å­— 30
     */
    public static final int DIGIT_30 = 30;
    /**
     * æ•°å­— 31
     */
    public static final int DIGIT_31 = 31;
    /**
     * æ•°å­— 32
     */
    public static final int DIGIT_32 = 32;
    /**
     * æ•°å­— 3600
     */
    public static final int DIGIT_3600 = 3600;
    /**
     * æ•°å­— 50
     */
    public static final int DIGIT_50 = 50;
    /**
     * æ•°å­— 59
     */
    public static final int DIGIT_59 = 59;
    /**
     * æ•°å­— 150
     */
    public static final int DIGIT_150 = 150;
    /**
     * æ•°å­— 100
     */
    public static final int DIGIT_100 = 100;
@@ -122,6 +205,48 @@
     * æ•°å­— -3
     */
    public static final int DIGIT_MINUS_3 = -3;
    /**
     * æ•°å­— 500
     */
    public static final int DIGIT_500 = 500;
    /**
     * æ•°å­— 10000
     */
    public static final int DIGIT_10000 = 10000;
    /**
     * æ•°å­— 100000000
     */
    public static final int DIGIT_100000000 = 100000000;
    /**
     * æœ€å°å€¼åˆå§‹åŒ–
     */
    public static final double MIN_INIT_VALUE = -99;
    /**
     * DOUBLE æ•°å­—0.0
     */
    public static final Double DOUBLE_ZERO = 0.0;
    /**
     * æ•°å­— -5
     */
    public static final int DIGIT_MINUS_5 = -5;
    /**
     * æ•°å­— -6
     */
    public static final int DIGIT_MINUS_6 = -6;
    /**
     * æ•°å­— -11
     */
    public static final int DIGIT_MINUS_11 = -11;
    /**
     * æ•°å­— -12
     */
    public static final int DIGIT_MINUS_12 = -12;
    /**
     * è®¡ç®—点识别规则 ç´¯ç§¯é‡
     */
@@ -142,4 +267,924 @@
     * é‡ç®—接口地址
     */
    public static final String RE_CALC_INTERFACE_ADDRESS = "http://127.0.0.1:8999/computing/recalc";
////////////////////////////////
    /**
     * æ­£å¸¸çŠ¶æ€
     */
    public static final Integer STATUS_NORMAL = 0;
    /**
     * ç¦ç”¨çŠ¶æ€
     */
    public static final Integer STATUS_DISABLE = -1;
    /**
     * åˆ é™¤æ ‡å¿—
     */
    public static final Integer DEL_FLAG_1 = 1;
    /**
     * æœªåˆ é™¤
     */
    public static final Integer DEL_FLAG_0 = 0;
    /**
     * ç³»ç»Ÿæ—¥å¿—类型: ç™»å½•
     */
    public static final int LOG_TYPE_1 = 1;
    /**
     * ç³»ç»Ÿæ—¥å¿—类型: æ“ä½œ
     */
    public static final int LOG_TYPE_2 = 2;
    /**
     * æ“ä½œæ—¥å¿—类型: æŸ¥è¯¢
     */
    public static final int OPERATE_TYPE_1 = 1;
    /**
     * æ“ä½œæ—¥å¿—类型: æ·»åŠ 
     */
    public static final int OPERATE_TYPE_2 = 2;
    /**
     * æ“ä½œæ—¥å¿—类型: æ›´æ–°
     */
    public static final int OPERATE_TYPE_3 = 3;
    /**
     * æ“ä½œæ—¥å¿—类型: åˆ é™¤
     */
    public static final int OPERATE_TYPE_4 = 4;
    /**
     * æ“ä½œæ—¥å¿—类型: å€’å…¥
     */
    public static final int OPERATE_TYPE_5 = 5;
    /**
     * æ“ä½œæ—¥å¿—类型: å¯¼å‡º
     */
    public static final int OPERATE_TYPE_6 = 6;
    /**
     * ç™¾åˆ†ä¹‹0
     */
    public static final String PERCENTAGE_ZERO = "0.00%";
    /**
     * ç™¾åˆ†å·
     */
    public static final String PERCENTAGE_FLAG = "%";
    /**
     * ä¿ç•™ä¸¤ä½å°æ•°
     */
    public static final String KEEP_TWO_DECIMAL = "%.2f";
    /**
     * ç§Ÿæˆ·1
     */
    public static final int TENANT_1 = 1;
    /**
     * {@code 500 Server Error} (HTTP/1.0 - RFC 1945)
     */
    public static final Integer SC_INTERNAL_SERVER_ERROR_500 = 500;
    /**
     * {@code 200 OK} (HTTP/1.0 - RFC 1945)
     */
    public static final Integer SC_OK_200 = 200;
    /**
     * è®¿é—®æƒé™è®¤è¯æœªé€šè¿‡ 510
     */
    public static final Integer SC_JEECG_NO_AUTHZ = 510;
    /**
     * ç™»å½•用户Shiro权限缓存KEY前缀
     */
    public static String PREFIX_USER_SHIRO_CACHE = "shiro:cache:org.jeecg.config.shiro.ShiroRealm.authorizationCache:";
    /**
     * ç™»å½•用户Token令牌缓存KEY前缀
     */
    public static final String PREFIX_USER_TOKEN = "user:token:";
    /**
     * å”¯ä¸€ç™»å½•登录用户Token令牌缓存KEY前缀
     */
    public static final String PREFIX_ONLY_USER_TOKEN = "only:user:token:";
    /**
     * å”¯ä¸€ç™»å½•登录被离线后标识前缀
     */
    public static final String PREFIX_ONLY_USER_SINGLE_TOKEN = "prefix_only_user_single_token_";
    /**
     * ç™»å½•用户租户redis缓存信息名称
     */
    public static final String PREFIX_TENANT_INFO_NAME = "sys:tenant:name:";
    /**
     * Token缓存时间:3600秒即一小时
     */
    public static final int TOKEN_EXPIRE_TIME = 3600;
    /**
     * 0:一级菜单
     */
    public static final Integer MENU_TYPE_0 = 0;
    /**
     * 1:子菜单
     */
    public static final Integer MENU_TYPE_1 = 1;
    /**
     * 2:按钮权限
     */
    public static final Integer MENU_TYPE_2 = 2;
    /**
     * é€šå‘Šå¯¹è±¡ç±»åž‹ï¼ˆUSER:指定用户,ALL:全体用户)
     */
    public static final String MSG_TYPE_UESR = "USER";
    public static final String MSG_TYPE_ALL = "ALL";
    /**
     * å‘布状态(0未发布,1已发布,2已撤销)
     */
    public static final String NO_SEND = "0";
    public static final String HAS_SEND = "1";
    public static final String HAS_CANCLE = "2";
    /**
     * é˜…读状态(0未读,1已读)
     */
    public static final String HAS_READ_FLAG = "1";
    public static final String NO_READ_FLAG = "0";
    /**
     * ä¼˜å…ˆçº§ï¼ˆL低,M中,H高)
     */
    public static final String PRIORITY_L = "L";
    public static final String PRIORITY_M = "M";
    public static final String PRIORITY_H = "H";
    /**
     * çŸ­ä¿¡æ¨¡æ¿æ–¹å¼  0 .登录模板、1.注册模板、2.忘记密码模板
     */
    public static final String SMS_TPL_TYPE_0 = "0";
    public static final String SMS_TPL_TYPE_1 = "1";
    public static final String SMS_TPL_TYPE_2 = "2";
    /**
     * çŠ¶æ€(0无效1有效)
     */
    public static final String STATUS_0 = "0";
    public static final String STATUS_1 = "1";
    /**
     * åŒæ­¥å·¥ä½œæµå¼•擎1同步0不同步
     */
    public static final Integer ACT_SYNC_1 = 1;
    public static final Integer ACT_SYNC_0 = 0;
    /**
     * æ¶ˆæ¯ç±»åž‹1:通知公告2:系统消息
     */
    public static final String MSG_CATEGORY_1 = "1";
    public static final String MSG_CATEGORY_2 = "2";
    /**
     * æ˜¯å¦é…ç½®èœå•的数据权限 1是0否
     */
    public static final Integer RULE_FLAG_0 = 0;
    public static final Integer RULE_FLAG_1 = 1;
    /**
     * æ˜¯å¦ç”¨æˆ·å·²è¢«å†»ç»“ 1正常(解冻) 2冻结
     */
    public static final Integer USER_UNFREEZE = 1;
    public static final Integer USER_FREEZE = 2;
    /**
     * å­—典翻译文本后缀
     */
    public static final String DICT_TEXT_SUFFIX = "_dictText";
    /**
     * è¡¨å•设计器主表类型
     */
    public static final Integer DESIGN_FORM_TYPE_MAIN = 1;
    /**
     * è¡¨å•设计器子表表类型
     */
    public static final Integer DESIGN_FORM_TYPE_SUB = 2;
    /**
     * è¡¨å•设计器URL授权通过
     */
    public static final Integer DESIGN_FORM_URL_STATUS_PASSED = 1;
    /**
     * è¡¨å•设计器URL授权未通过
     */
    public static final Integer DESIGN_FORM_URL_STATUS_NOT_PASSED = 2;
    /**
     * è¡¨å•设计器新增 Flag
     */
    public static final String DESIGN_FORM_URL_TYPE_ADD = "add";
    /**
     * è¡¨å•设计器修改 Flag
     */
    public static final String DESIGN_FORM_URL_TYPE_EDIT = "edit";
    /**
     * è¡¨å•设计器详情 Flag
     */
    public static final String DESIGN_FORM_URL_TYPE_DETAIL = "detail";
    /**
     * è¡¨å•设计器复用数据 Flag
     */
    public static final String DESIGN_FORM_URL_TYPE_REUSE = "reuse";
    /**
     * è¡¨å•设计器编辑 Flag ï¼ˆå·²å¼ƒç”¨ï¼‰
     */
    public static final String DESIGN_FORM_URL_TYPE_VIEW = "view";
    /**
     * online参数值设置(是:Y, å¦ï¼šN)
     */
    public static final String ONLINE_PARAM_VAL_IS_TURE = "Y";
    public static final String ONLINE_PARAM_VAL_IS_FALSE = "N";
    /**
     * æ–‡ä»¶ä¸Šä¼ ç±»åž‹ï¼ˆæœ¬åœ°ï¼šlocal,Minio:minio,阿里云:alioss)
     */
    public static final String UPLOAD_TYPE_LOCAL = "local";
    public static final String UPLOAD_TYPE_MINIO = "minio";
    public static final String UPLOAD_TYPE_OSS = "alioss";
    /**
     * æ–‡æ¡£ä¸Šä¼ è‡ªå®šä¹‰æ¡¶åç§°
     */
    public static final String UPLOAD_CUSTOM_BUCKET = "eoafile";
    /**
     * æ–‡æ¡£ä¸Šä¼ è‡ªå®šä¹‰è·¯å¾„
     */
    public static final String UPLOAD_CUSTOM_PATH = "eoafile";
    /**
     * æ–‡ä»¶å¤–链接有效天数
     */
    public static final Integer UPLOAD_EFFECTIVE_DAYS = 1;
    /**
     * å‘˜å·¥èº«ä»½ ï¼ˆ1:普通员工  2:上级)
     */
    public static final Integer USER_IDENTITY_1 = 1;
    public static final Integer USER_IDENTITY_2 = 2;
    /**
     * sys_user è¡¨ username å”¯ä¸€é”®ç´¢å¼•
     */
    public static final String SQL_INDEX_UNIQ_SYS_USER_USERNAME = "uniq_sys_user_username";
    /**
     * sys_user è¡¨ work_no å”¯ä¸€é”®ç´¢å¼•
     */
    public static final String SQL_INDEX_UNIQ_SYS_USER_WORK_NO = "uniq_sys_user_work_no";
    /**
     * sys_user è¡¨ phone å”¯ä¸€é”®ç´¢å¼•
     */
    public static final String SQL_INDEX_UNIQ_SYS_USER_PHONE = "uniq_sys_user_phone";
    /**
     * sys_user è¡¨ email å”¯ä¸€é”®ç´¢å¼•
     */
    public static final String SQL_INDEX_UNIQ_SYS_USER_EMAIL = "uniq_sys_user_email";
    /**
     * sys_quartz_job è¡¨ job_class_name å”¯ä¸€é”®ç´¢å¼•
     */
    public static final String SQL_INDEX_UNIQ_JOB_CLASS_NAME = "uniq_job_class_name";
    /**
     * sys_position è¡¨ code å”¯ä¸€é”®ç´¢å¼•
     */
    public static final String SQL_INDEX_UNIQ_CODE = "uniq_code";
    /**
     * sys_role è¡¨ code å”¯ä¸€é”®ç´¢å¼•
     */
    public static final String SQL_INDEX_UNIQ_SYS_ROLE_CODE = "uniq_sys_role_role_code";
    /**
     * sys_depart è¡¨ code å”¯ä¸€é”®ç´¢å¼•
     */
    public static final String SQL_INDEX_UNIQ_DEPART_ORG_CODE = "uniq_depart_org_code";
    /**
     * åœ¨çº¿èŠå¤© æ˜¯å¦ä¸ºé»˜è®¤åˆ†ç»„
     */
    public static final String IM_DEFAULT_GROUP = "1";
    /**
     * åœ¨çº¿èŠå¤© å›¾ç‰‡æ–‡ä»¶ä¿å­˜è·¯å¾„
     */
    public static final String IM_UPLOAD_CUSTOM_PATH = "imfile";
    /**
     * åœ¨çº¿èŠå¤© ç”¨æˆ·çŠ¶æ€
     */
    public static final String IM_STATUS_ONLINE = "online";
    /**
     * åœ¨çº¿èŠå¤© SOCKET消息类型
     */
    public static final String IM_SOCKET_TYPE = "chatMessage";
    /**
     * åœ¨çº¿èŠå¤© æ˜¯å¦å¼€å¯é»˜è®¤æ·»åŠ å¥½å‹ 1是 0否
     */
    public static final String IM_DEFAULT_ADD_FRIEND = "1";
    /**
     * åœ¨çº¿èŠå¤© ç”¨æˆ·å¥½å‹ç¼“存前缀
     */
    public static final String IM_PREFIX_USER_FRIEND_CACHE = "sys:cache:im:im_prefix_user_friend_";
    /**
     * è€ƒå‹¤è¡¥å¡ä¸šåŠ¡çŠ¶æ€ ï¼ˆ1:同意  2:不同意)
     */
    public static final String SIGN_PATCH_BIZ_STATUS_1 = "1";
    public static final String SIGN_PATCH_BIZ_STATUS_2 = "2";
    /**
     * å…¬æ–‡æ–‡æ¡£ä¸Šä¼ è‡ªå®šä¹‰è·¯å¾„
     */
    public static final String UPLOAD_CUSTOM_PATH_OFFICIAL = "officialdoc";
    /**
     * å…¬æ–‡æ–‡æ¡£ä¸‹è½½è‡ªå®šä¹‰è·¯å¾„
     */
    public static final String DOWNLOAD_CUSTOM_PATH_OFFICIAL = "officaldown";
    /**
     * WPS存储值类别(1 code文号 2 text(WPS模板还是公文发文模板))
     */
    public static final String WPS_TYPE_1 = "1";
    public static final String WPS_TYPE_2 = "2";
    public final static String X_ACCESS_TOKEN = "X-Access-Token";
    public final static String X_SIGN = "X-Sign";
    public final static String X_TIMESTAMP = "X-TIMESTAMP";
    public final static String TOKEN_IS_INVALID_MSG = "Token失效,请重新登录!";
    public final static String TOKEN_IS_SINGLE_MSG = "您已经在其他地方登录!";
    /**
     * å¤šç§Ÿæˆ· è¯·æ±‚头
     */
    public final static String TENANT_ID = "tenant-id";
    /**
     * å¾®æœåŠ¡è¯»å–é…ç½®æ–‡ä»¶å±žæ€§ æœåŠ¡åœ°å€
     */
    public final static String CLOUD_SERVER_KEY = "spring.cloud.nacos.discovery.server-addr";
    /**
     * ç³»ç»Ÿé€šå‘Šæ¶ˆæ¯çŠ¶æ€ï¼š0=未发布
     */
    public static final String ANNOUNCEMENT_SEND_STATUS_0 = "0";
    /**
     * ç³»ç»Ÿé€šå‘Šæ¶ˆæ¯çŠ¶æ€ï¼š1=已发布
     */
    public static final String ANNOUNCEMENT_SEND_STATUS_1 = "1";
    /**
     * ç³»ç»Ÿé€šå‘Šæ¶ˆæ¯çŠ¶æ€ï¼š2=已撤销
     */
    public static final String ANNOUNCEMENT_SEND_STATUS_2 = "2";
    /**
     * æ•…障报警设置点位模拟量
     */
    public static final String SEN_ALARM_CONF_VAL_TYPE_ANALOG = "analogQuantity";
    /**
     * æ•…障报警设置点位状态量
     */
    public static final String SEN_ALARM_CONF_VAL_TYPE_STATE = "stateQuantity";
    public static final String WHERE = "WHERE";
    public static final String ADMIN = "admin";
    public static final String ADMIN_NAME = "管理员";
    public static final String LOCAL_IP = "127.0.0.1";
    /**
     * å¸¸é‡å­—符串 ç©ºæ ¼
     */
    public static final String SPACE = " ";
    /**
     * å¸¸é‡å­—符串 é€—号
     */
    public static final String STR_COMMA = ",";
    /**
     * ä¸‹åˆ’线
     */
    public static final String STR_UNDERLINE = "_";
    /**
     * å¸¸é‡å­—符串 ä¸­æ–‡é€—号
     */
    public static final String CHINESE_STR_COMMA = ",";
    /**
     * å•减号 -
     */
    public static final String SINGLE_MINUS_SIGN = "-";
    /**
     * æ–œçº¿ /
     */
    public static final String STR_SLASH = "/";
    /**
     * åŠ å· +
     */
    public static final String STR_PLUS = "+";
    /**
     * å››èˆäº”å…¥
     */
    public static final String STR_ROUNDING = "%.2f";
    /**
     * å­—符串数字 0
     */
    public static final String STR_NUMBER_0 = "0";
    /**
     * å­—符串数字 0.00
     */
    public static final String STR_NUMBER_0_00 = "0.00";
    /**
     * å­—符串数字 0.0000
     */
    public static final String STR_NUMBER_0_0000 = "0.0000";
    /**
     * å­—符串数字 100%
     */
    public static final String STR_NUMBER_100 = "100%";
    /**
     * å­—符串数字 0%
     */
    public static final String STR_NUMBER_PERCENTAGE_0 = "0%";
    /**
     * å­—符串数字 100.00%
     */
    public static final String STR_NUMBER_PERCENTAGE_100 = "100.00%";
    /**
     * å¤§å†™å­—母 H
     */
    public static final String WORD_H = "H";
    /**
     * å­—母 LJL
     */
    public static final String WORD_LJL = "LJL";
    /**
     * å°æ•°0
     */
    public static final double DIGIT_DOUBLE_0 = 0D;
    /**
     * å°æ•°0
     */
    public static final double DIGIT_DOUBLE_00 = 0.00D;
    /**
     * å°æ•°1
     */
    public static final double DIGIT_DOUBLE_1 = 1.0D;
    /**
     * å°æ•°100
     */
    public static final double DIGIT_DOUBLE_100 = 100D;
    /**
     * æ—¶é—´é—´éš”15分钟
     */
    public static final int TIME_SPAN_MINUTES_15 = 1000 * 60 * 15;
    /**
     * æ—¶é—´é—´éš”60分钟
     */
    public static final int TIME_SPAN_MINUTES_60 = 1000 * 60 * 60;
    /**
     * æ¯å¹´çš„æœˆæ•°
     */
    public static final int MONTHS_OF_YEAR = 12;
    /**
     * æ¯æœˆçš„天数
     */
    public static final int DAYS_OF_MONTH = 31;
    /**
     * æ¯å¤©çš„小时数
     */
    public static final int HOURS_OF_DAY = 24;
    /**
     * æ¯å°æ—¶çš„分钟数
     */
    public static final int MINUTES_OF_HOUR = 60;
    /**
     * æ¯åˆ†é’Ÿçš„ç§’æ•°
     */
    public static final int SECOND_OF_MINUTES = 60;
    /**
     * ä¸€ä¸ªç‚¹ä½ä¸€å°æ—¶çš„æ•°æ®é‡
     */
    public static final int DATA_AMOUNT_ONE_POINT_ONE_HOUR = 4;
    /**
     * è®¡ç®—点识别规则 ç´¯ç§¯é‡,sql查询使用
     */
    public static final String COMMON_STR_CALC_POINT_RULE_LJL_SQL = "\\_LJL";
    /**
     * æ•°æ®åº“查询综合能耗后缀
     */
    public static final String COMMON_STR_CALC_POINT_RULE_ZHNH_SQL = "\\_ZHNH";
    /**
     * å°–峰平谷生效配置
     */
    public static final String COMMON_JFPG_NOW_CONFIGURE = "NOW";
    /**
     * å°–峰平谷待生效配置
     */
    public static final String COMMON_JFPG_NEXT_CONFIGURE = "NEXT";
    /***
     * äººæ°‘币单位
     */
    public static final String MONEY_UNIT_RMB = "元";
    /**
     * åˆè®¡è¡Œæ•°æ®å
     */
    public static final String TABLE_ROW_NAME_SUM = "合计";
    /**
     * æ˜¾ç¤ºå­—符串 - è´¹ç”¨
     */
    public static final String STRING_SHOW_COST = "费用";
    /**
     * æ˜¾ç¤ºå­—符串 - è´¹
     */
    public static final String STRING_SHOW_COST_CHARGE = "è´¹";
    /**
     * æ˜¾ç¤ºå­—符串 - ç”¨
     */
    public static final String STRING_SHOW_USE = "用";
    /**
     * æ˜¾ç¤ºå­—符串 - é‡
     */
    public static final String STRING_SHOW_CONSUMPTION = "量";
    /**
     * å›ºå®šåˆ—名 proportionTotal
     */
    public static final String ENERGY_CONSUME_PROP_NAME_PROPORTION_TOTAL = "proportionTotal";
    /**
     * å›ºå®šåˆ—名 consumeTotal
     */
    public static final String ENERGY_CONSUME_PROP_NAME_CONSUME_TOTAL = "consumeTotal";
    /**
     * èƒ½æºå•位
     */
    public static final String ENERGY_CONSUME_PROP_NAME_CONSUME_UNIT = "consumeUnit";
    /**
     * å›ºå®šåˆ—名 energyTotal
     */
    public static final String ENERGY_CONSUME_PROP_NAME_ENERGY_TOTAL = "energyTotal";
    /**
     * å›ºå®šåˆ—名 costTotal
     */
    public static final String ENERGY_CONSUME_PROP_NAME_COST_TOTAL = "costTotal";
    /**
     * æ¶ˆè€—量单位
     */
    public static final String ENERGY_CONSUME_PROP_NAME_ENERGY_UNIT = "energyUnit";
    /**
     * æ€»æœ‰åŠŸåŠŸçŽ‡ç‚¹ä½æ¨¡æ¿code
     */
    public static final String TAG_CODE_ZYGGL = "\\_ActivePower_Total";
    /**
     * æ€»æœ‰åŠŸåŠŸçŽ‡ç‚¹ä½æ¨¡æ¿code
     */
    public static final String TAG_CODE_ZYGGL_IN_CODE = "_ActivePower_Total";
    /**
     * æœ‰åŠŸåŠŸçŽ‡Code
     */
    public static final String TAG_CODE_ZYGGL_PART = "\\_ActivePower";
    /**
     * æ€»æ— åŠŸåŠŸçŽ‡ç‚¹ä½æ¨¡æ¿code
     */
    public static final String TAG_CODE_ZWGGL = "ReactivePower_Total";
    /**
     * æ— åŠŸåŠŸçŽ‡Code
     */
    public static final String TAG_CODE_ZWGGL_PART = "ReactivePower";
    /**
     * æ€»åŠŸçŽ‡å› æ•° ç‚¹ä½æ¨¡æ¿code
     */
    public static final String TAG_CODE_GLYS = "PowerFactor_Total";
    /**
     * ç”µæµ
     */
    public static final String TAG_CODE_CURRENT = "Current_";
    /**
     * ç”µåŽ‹
     */
    public static final String TAG_CODE_VOLTAGE = "Voltage_";
    /**
     * åŠŸçŽ‡å› æ•°
     */
    public static final String TAG_CODE_FACTOR = "PowerFactor_";
    /**
     * åŠŸçŽ‡å› æ•°
     */
    public static final String TAG_CODE_FACTOR_PART = "PowerFactor";
    /**
     * A相
     */
    public static final String A_PHASE = "A";
    /**
     * B相
     */
    public static final String B_PHASE = "B";
    /**
     * C相
     */
    public static final String C_PHASE = "C";
    /**
     * èƒ½æºè®¡ç®—类型(采集点)
     */
    public static final String ENERGY_INDEX_TYPE_COLLECT = "COLLECT";
    /**
     * èƒ½æºç±»åž‹(计算点)
     */
    public static final String ENERGY_INDEX_TYPE_CALCULATE = "CALCULATE";
    /**
     * æ€»
     */
    public static final String TOTAL = "Total";
    /**
     * name
     */
    public static final String STR_NAME = "name";
    /**
     * A相电流
     */
    public static final String TAG_CODE_CURRENT_A = "Current_A";
    /**
     * B相电流
     */
    public static final String TAG_CODE_CURRENT_B = "Current_B";
    /**
     * C相电流
     */
    public static final String TAG_CODE_CURRENT_C = "Current_C";
    /**
     * A相电压
     */
    public static final String TAG_CODE_VOLTAGE_A = "Voltage_A";
    /**
     * B相电压
     */
    public static final String TAG_CODE_VOLTAGE_B = "Voltage_B";
    /**
     * C相电压
     */
    public static final String TAG_CODE_VOLTAGE_C = "Voltage_C";
    /**
     * A相功率因数
     */
    public static final String TAG_CODE_FACTOR_A = "PowerFactor_A_Total";
    /**
     * B相功率因数
     */
    public static final String TAG_CODE_FACTOR_B = "PowerFactor_B_Total";
    /**
     * C相功率因数
     */
    public static final String TAG_CODE_FACTOR_C = "PowerFactor_C_Total";
    /**
     * æ€»åŠŸçŽ‡å› æ•°
     */
    public static final String TAG_CODE_FACTOR_TOTAL = "PowerFactor_Total";
    /**
     * ç”µåŠ›è´Ÿè·å•ä½
     */
    public static final String ELECTRIC_LOAD_UNIT = "(kW)";
    /**
     * ç”µåŠ›è´Ÿè·å•ä½
     */
    public static final String ELECTRIC_LOAD_UNIT_SHOW = "kW";
    /**
     * ç”µæµå•位 A
     */
    public static final String ELECTRICITY_CURRENT_UNIT_A = "A";
    /**
     * ç”µåŽ‹å•ä½ V
     */
    public static final String ELECTRICITY_VOLTAGE_UNIT_V = "V";
    /**
     * ç¬¦å· - ç™¾åˆ†å·
     */
    public static final String SYMBOL_PERCENT = "%";
    /**
     * ç”¨æ°´é‡ã€å¤©ç„¶æ°”量、蒸汽量单位
     */
    public static final String CUBIC_METER = "m³";
    /**
     * ç”¨ç”µé‡å•位
     */
    public static final String ELECTRICITY_CONSUMPTION = "kWh";
    /**
     * ç»¼åˆèƒ½è€—单位
     */
    public static final String ENERGY_CONSUME = "tce";
    /**
     * æ—¶é—´æ˜¾ç¤ºå­—符后缀
     */
    public static final String TIME_UNIT_SHOW_HOUR = "时";
    /**
     * å±žæ€§å­—段名称  value
     */
    public static final String PROP_NAME_VALUE = "value";
    /**
     * å±žæ€§å­—段名称   cost
     */
    public static final String PROP_NAME_COST = "cost";
    /**
     * å°–
     */
    public static final String TIP = "tip";
    /**
     * å³°
     */
    public static final String PEAK = "peak";
    /**
     * å¹³
     */
    public static final String FLAT = "flat";
    /**
     * è°·
     */
    public static final String TROUGH = "trough";
    /**
     * å æ¯”
     **/
    public static final String ENERGY_ENTRY_PROPORTION = "proportion";
    /**
     * æ€»æ•°
     **/
    public static final String ENERGY_ENTRY_TOTAL = "total";
    /**
     * è®¡ç®—消耗的公式
     **/
    public static final String FEL_ENERGY_ENTRY_CONSUMPTION_CALC = "total*proportion";
    /**
     * æ ‡å‡†æ—¶é—´
     **/
    public static final String STANDARD_TIME = "GMT+8";
    /**
     * å­—符串OK
     */
    public static final String STR_OK = "ok";
    /**
     * è¡¥å……位数0
     */
    public static final String COMPLEMENTARY_DIGIT_0 = "%02d";
    /**
     * ç”µåŽ‹ç­‰çº§
     */
    public static final String GENERAL_STR_DYDJ = "电压等级";
    /**
     * ç”µåŽ‹ç­‰çº§å•ä½
     */
    public static final String GENERAL_STR_DYDJ_UNIT = "kV";
    /**
     * å˜åŽ‹å™¨å°æ•°
     */
    public static final String GENERAL_STR_BYQTS = "变压器台数";
    /**
     * å˜åŽ‹å™¨å°æ•°å•ä½
     */
    public static final String GENERAL_STR_BYQTS_UNIT = "台";
    /**
     * è£…机容量
     */
    public static final String GENERAL_STR_ZJRL = "装机容量";
    /**
     * è£…机容量单位
     */
    public static final String GENERAL_STR_ZJRL_UNIT = "kVA";
    /**
     * è¿è¡Œå®¹é‡
     */
    public static final String GENERAL_STR_YXRL = "运行容量";
    /**
     * æœ‰åŠŸåŠŸçŽ‡
     */
    public static final String GENERAL_STR_YGGL = "有功功率";
    /**
     * æ— åŠŸåŠŸçŽ‡
     */
    public static final String GENERAL_STR_WGGL = "无功功率";
    /**
     * æ— åŠŸåŠŸçŽ‡å•ä½
     */
    public static final String GENERAL_STR_WGGL_UNIT = "kvar";
    /**
     * èƒ½æºå¯¹æ¯”-同比
     */
    public static final String ENERGY_COMPARISON_YOY = "YOY";
    /**
     * èƒ½æºå¯¹æ¯”-环比
     */
    public static final String ENERGY_COMPARISON_MOM = "MOM";
    /**
     * å¯åЍ
     */
    public static final String START = "启动";
    /**
     * åœæ­¢
     */
    public static final String STOP = "停止";
    /***
     *  å•位-亿千瓦时
     */
    public static final String UNIT_TWH = "亿 Kwh";
    /***
     *  å•位-万千瓦时
     */
    public static final String UNIT_MILLION_KWH = "万 Kwh";
    /***
     *  å•位-吨
     */
    public static final String UNIT_TONS = "吨";
    /***
     *  å•位-字母-吨
     */
    public static final String UNIT_LETTERS_TONS = "t";
    /***
     *  å•位转换-百-100
     */
    public static final BigDecimal UNIT_CONVERSION_100 = new BigDecimal(DIGIT_100);
    /***
     *  å•位转换-吨-1000
     */
    public static final BigDecimal UNIT_CONVERSION_1000 = new BigDecimal(DIGIT_1000);
    /***
     *  å•位转换-万-10000
     */
    public static final BigDecimal UNIT_CONVERSION_10000 = new BigDecimal(DIGIT_10000);
    /***
     *  å•位转换-亿-100000000
     */
    public static final BigDecimal UNIT_CONVERSION_100000000 = new BigDecimal(DIGIT_100000000);
    /**
     * å­—å…¸-碳排放系数
     */
    public static final String DICT_CARBON_COEFFICIENT = "carbon_emission_coefficient";
    /**
     * WEIGHTY
     */
    public static final String WEIGHTY = "WEIGHTY";
    /**
     * åŽ‚
     */
    public static final String ENERGY_UNIT_TYPE_FACTORY = "FACTORY";
    /**
     * è½¦é—´
     */
    public static final String ENERGY_UNIT_TYPE_WORKPLACE = "WORKPLACE";
    /**
     * å·¥åº
     */
    public static final String ENERGY_UNIT_TYPE_PROCESS = "PROCESS";
    /**
     * è®¾å¤‡
     */
    public static final String ENERGY_UNIT_TYPE_DEVICE = "DEVICE";
}
zhitan-common/src/main/java/com/zhitan/common/core/domain/BaseEntity.java
@@ -1,5 +1,6 @@
package com.zhitan.common.core.domain;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
@@ -26,20 +27,25 @@
    private String searchValue;
    /** åˆ›å»ºè€… */
    @TableField(fill = FieldFill.INSERT)
    private String createBy;
    /** åˆ›å»ºæ—¶é—´ */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;
    /** æ›´æ–°è€… */
    @TableField(fill = FieldFill.UPDATE)
    private String updateBy;
    /** æ›´æ–°æ—¶é—´ */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(fill = FieldFill.UPDATE)
    private Date updateTime;
    /** å¤‡æ³¨ */
    @TableField(exist = false)
    private String remark;
    /** æ•°æ®æƒé™ */
zhitan-common/src/main/java/com/zhitan/common/utils/PageUtils.java
@@ -41,4 +41,15 @@
        
        return new Page(pageNum,pageSize);
    }
    public static <T> Page<T> getPageInfo() {
        PageDomain pageDomain = TableSupport.buildPageRequest();
        return new Page<>(pageDomain.getPageNum(), pageDomain.getPageSize());
    }
    public static <R> Page<R> getPageInfo(Class<R> R) {
        PageDomain pageDomain = TableSupport.buildPageRequest();
        return new Page<R>(pageDomain.getPageNum(), pageDomain.getPageSize());
    }
}
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-generator/target/classes/generator.yml
ÎļþÒÑɾ³ý
zhitan-generator/target/classes/mapper/generator/GenTableColumnMapper.xml
ÎļþÒÑɾ³ý
zhitan-generator/target/classes/mapper/generator/GenTableMapper.xml
ÎļþÒÑɾ³ý
zhitan-generator/target/classes/vm/java/controller.java.vm
ÎļþÒÑɾ³ý
zhitan-generator/target/classes/vm/java/domain.java.vm
ÎļþÒÑɾ³ý
zhitan-generator/target/classes/vm/java/mapper.java.vm
ÎļþÒÑɾ³ý
zhitan-generator/target/classes/vm/java/service.java.vm
ÎļþÒÑɾ³ý
zhitan-generator/target/classes/vm/java/serviceImpl.java.vm
ÎļþÒÑɾ³ý
zhitan-generator/target/classes/vm/java/sub-domain.java.vm
ÎļþÒÑɾ³ý
zhitan-generator/target/classes/vm/js/api.js.vm
ÎļþÒÑɾ³ý
zhitan-generator/target/classes/vm/sql/sql.vm
ÎļþÒÑɾ³ý
zhitan-generator/target/classes/vm/vue/index-tree.vue.vm
ÎļþÒÑɾ³ý
zhitan-generator/target/classes/vm/vue/index.vue.vm
ÎļþÒÑɾ³ý
zhitan-generator/target/classes/vm/vue/v3/index-tree.vue.vm
ÎļþÒÑɾ³ý
zhitan-generator/target/classes/vm/vue/v3/index.vue.vm
ÎļþÒÑɾ³ý
zhitan-generator/target/classes/vm/xml/mapper.xml.vm
ÎļþÒÑɾ³ý
zhitan-quartz/target/classes/mapper/quartz/SysJobLogMapper.xml
ÎļþÒÑɾ³ý
zhitan-quartz/target/classes/mapper/quartz/SysJobMapper.xml
ÎļþÒÑɾ³ý
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>
zhitan-system/target/classes/mapper/alarm/AlarmItemMapper.xml
ÎļþÒÑɾ³ý
zhitan-system/target/classes/mapper/alarm/AlarmLimitTypeMapper.xml
ÎļþÒÑɾ³ý
zhitan-system/target/classes/mapper/alarm/HistoryAlarmMapper.xml
ÎļþÒÑɾ³ý
zhitan-system/target/classes/mapper/alarm/RealtimeAlarmMapper.xml
ÎļþÒÑɾ³ý
zhitan-system/target/classes/mapper/auxiliaryinput/ProductOutputMapper.xml
ÎļþÒÑɾ³ý
zhitan-system/target/classes/mapper/basicdata/FacilityAnnexMapper.xml
ÎļþÒÑɾ³ý
zhitan-system/target/classes/mapper/basicdata/FacilityArchivesMapper.xml
ÎļþÒÑɾ³ý
zhitan-system/target/classes/mapper/basicdata/MeterAnnexMapper.xml
ÎļþÒÑɾ³ý
zhitan-system/target/classes/mapper/basicdata/MeterImplementCountMapper.xml
ÎļþÒÑɾ³ý
zhitan-system/target/classes/mapper/basicdata/MeterImplementMapper.xml
ÎļþÒÑɾ³ý
zhitan-system/target/classes/mapper/basicdata/SysEnerclassMapper.xml
ÎļþÒÑɾ³ý
zhitan-system/target/classes/mapper/basicdata/SysEnergyMapper.xml
ÎļþÒÑɾ³ý
zhitan-system/target/classes/mapper/comprehensivestatistics/ComprehensiveStatisticsMapper.xml
ÎļþÒÑɾ³ý
zhitan-system/target/classes/mapper/comprehensivestatistics/DailyComprehensiveMapper.xml
ÎļþÒÑɾ³ý
zhitan-system/target/classes/mapper/dataitem/DataItemMapper.xml
ÎļþÒÑɾ³ý
zhitan-system/target/classes/mapper/energyIndicators/EnergyIndicatorsMapper.xml
ÎļþÒÑɾ³ý
zhitan-system/target/classes/mapper/gatewaysetting/GatewaySettingMapper.xml
ÎļþÒÑɾ³ý
zhitan-system/target/classes/mapper/keyequipment/DailyKeyEquipmentMapper.xml
ÎļþÒÑɾ³ý
zhitan-system/target/classes/mapper/keyequipment/MonthlyKeyEquipmentMapper.xml
ÎļþÒÑɾ³ý
zhitan-system/target/classes/mapper/keyequipment/YearKeyEquipmentMapper.xml
ÎļþÒÑɾ³ý
zhitan-system/target/classes/mapper/meter/MeterImplementMapper.xml
ÎļþÒÑɾ³ý
zhitan-system/target/classes/mapper/model/CalcFunctionMapper.xml
ÎļþÒÑɾ³ý
zhitan-system/target/classes/mapper/model/DaqTemplateMapper.xml
ÎļþÒÑɾ³ý
zhitan-system/target/classes/mapper/model/EnergyIndexMapper.xml
ÎļþÒÑɾ³ý
zhitan-system/target/classes/mapper/model/IndexFormulaMapper.xml
ÎļþÒÑɾ³ý
zhitan-system/target/classes/mapper/model/IndexStorageMapper.xml
ÎļþÒÑɾ³ý
zhitan-system/target/classes/mapper/model/ModelInfoMapper.xml
ÎļþÒÑɾ³ý
zhitan-system/target/classes/mapper/model/ModelNodeMapper.xml
ÎļþÒÑɾ³ý
zhitan-system/target/classes/mapper/peakvalley/ElectricityDataItemMapper.xml
ÎļþÒÑɾ³ý
zhitan-system/target/classes/mapper/peakvalley/ElectricityPriceDateMapper.xml
ÎļþÒÑɾ³ý
zhitan-system/target/classes/mapper/peakvalley/EletricityPriceMapper.xml
ÎļþÒÑɾ³ý
zhitan-system/target/classes/mapper/realtimedata/PeriodDataMapper.xml
ÎļþÒÑɾ³ý
zhitan-system/target/classes/mapper/realtimedata/SysEquipmentFileMapper.xml
ÎļþÒÑɾ³ý
zhitan-system/target/classes/mapper/system/SysConfigMapper.xml
ÎļþÒÑɾ³ý
zhitan-system/target/classes/mapper/system/SysDeptMapper.xml
ÎļþÒÑɾ³ý
zhitan-system/target/classes/mapper/system/SysDictDataMapper.xml
ÎļþÒÑɾ³ý
zhitan-system/target/classes/mapper/system/SysDictTypeMapper.xml
ÎļþÒÑɾ³ý
zhitan-system/target/classes/mapper/system/SysLoginInfoMapper.xml
ÎļþÒÑɾ³ý
zhitan-system/target/classes/mapper/system/SysMenuMapper.xml
ÎļþÒÑɾ³ý
zhitan-system/target/classes/mapper/system/SysNameConfigMapper.xml
ÎļþÒÑɾ³ý
zhitan-system/target/classes/mapper/system/SysNoticeMapper.xml
ÎļþÒÑɾ³ý
zhitan-system/target/classes/mapper/system/SysOperLogMapper.xml
ÎļþÒÑɾ³ý
zhitan-system/target/classes/mapper/system/SysPostMapper.xml
ÎļþÒÑɾ³ý
zhitan-system/target/classes/mapper/system/SysRoleDeptMapper.xml
ÎļþÒÑɾ³ý
zhitan-system/target/classes/mapper/system/SysRoleMapper.xml
ÎļþÒÑɾ³ý
zhitan-system/target/classes/mapper/system/SysRoleMenuMapper.xml
ÎļþÒÑɾ³ý
zhitan-system/target/classes/mapper/system/SysUserMapper.xml
ÎļþÒÑɾ³ý
zhitan-system/target/classes/mapper/system/SysUserPostMapper.xml
ÎļþÒÑɾ³ý
zhitan-system/target/classes/mapper/system/SysUserRoleMapper.xml
ÎļþÒÑɾ³ý