Jelajahi Sumber

首次提交

邵洋 2 tahun lalu
melakukan
399f43bac4
100 mengubah file dengan 13787 tambahan dan 0 penghapusan
  1. 20 0
      LICENSE
  2. 3 0
      README.md
  3. TEMPAT SAMPAH
      doc/若依环境使用手册.docx
  4. 276 0
      pom.xml
  5. 67 0
      ry.bat
  6. 86 0
      ry.sh
  7. 174 0
      sql/quartz.sql
  8. 687 0
      sql/ry_20210908.sql
  9. 104 0
      src
  10. 134 0
      zksy-admin/pom.xml
  11. 94 0
      zksy-admin/src/main/java/com/zksy/commonFile/controller/ManageCommonController.java
  12. 47 0
      zksy-admin/src/main/java/com/zksy/commonFile/service/ManageCommonService.java
  13. 210 0
      zksy-admin/src/main/java/com/zksy/commonFile/service/impl/ManageCommonServiceImpl.java
  14. 35 0
      zksy-admin/src/main/java/com/zksy/task/MyScheduledTask.java
  15. 26 0
      zksy-admin/src/main/java/com/zksy/utils/ConditionVo.java
  16. 25 0
      zksy-admin/src/main/java/com/zksy/utils/ConvertUtil.java
  17. 76 0
      zksy-admin/src/main/java/com/zksy/utils/DowntemplateUtil.java
  18. 389 0
      zksy-admin/src/main/java/com/zksy/utils/EnterpriseExcelUtil.java
  19. 354 0
      zksy-admin/src/main/java/com/zksy/utils/MergeReadsExcelUtil.java
  20. 56 0
      zksy-admin/src/main/java/com/zksy/utils/SearchUtil.java
  21. 137 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmAbnormalBusinessListController.java
  22. 136 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmAbnormalTaxInformationController.java
  23. 137 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmAccumulationFundSummaryController.java
  24. 137 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmAdministrativeCompulsionInformationController.java
  25. 142 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmAdministrativeConfirmationController.java
  26. 119 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmAdministrativeLicenseController.java
  27. 141 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmAdministrativePenaltyController.java
  28. 136 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmAdministrativeSanctionController.java
  29. 137 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmAdministrativeSanctionInfoController.java
  30. 137 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmAdministrativeSupervisionController.java
  31. 136 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmAgriFisheryWaterPenaltyController.java
  32. 136 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmAgriculturalProductSupervisionCheckController.java
  33. 137 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmAgriculturalProductSupervisionCheckResultController.java
  34. 136 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmAnnouncementPenaltyController.java
  35. 136 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmAnnualOutputValueInfoController.java
  36. 129 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmArbitrationDocumentInformationController.java
  37. 136 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmArbitrationInformationController.java
  38. 135 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmArrearsNotificationFinancialController.java
  39. 136 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmAssociationHonorInformationController.java
  40. 135 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmBadSupplierEnterprisePenaltyController.java
  41. 136 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmBankCreditRatingController.java
  42. 135 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmBankruptcyAnnouncementController.java
  43. 136 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmBankruptcyInformationController.java
  44. 136 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmBranchOfficeInformationController.java
  45. 136 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmBrandHonorInfoController.java
  46. 136 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmBroadcastCommunicationPenaltyController.java
  47. 136 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmBusinessAbnormalityController.java
  48. 136 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmBusinessLicenseInformationController.java
  49. 136 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmCertifiedTechnologyEnterpriseController.java
  50. 136 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmChangeRecordInformationController.java
  51. 136 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmCharityInfoController.java
  52. 136 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmCirculationSamplingController.java
  53. 135 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmCivilManagementDishonestyController.java
  54. 135 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmCivilPenaltiesController.java
  55. 136 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmCommercePenaltyController.java
  56. 105 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmComplainController.java
  57. 136 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmComplaintInfoController.java
  58. 136 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmComplaintInformationController.java
  59. 136 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmConstructionOtherPenaltiesController.java
  60. 135 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmContractNonperformanceInfoController.java
  61. 136 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmCorrectiveActionController.java
  62. 136 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmCreditManagementController.java
  63. 136 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmCreditRedlistInfoController.java
  64. 136 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmCriminalLitigationInformationController.java
  65. 137 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmCustomsCreditRatingController.java
  66. 136 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmCustomsRegistrationInformationController.java
  67. 136 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmDishonestExecutorController.java
  68. 135 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmDomesticMarketEntityIndustryInfoController.java
  69. 135 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmEmergencyOtherPenaltyController.java
  70. 136 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmEnergyElectricityPenaltyController.java
  71. 136 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmEnterpriseCreditRatingController.java
  72. 145 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmEnterpriseElectricityFeeInfoController.java
  73. 144 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmEnterpriseInformationController.java
  74. 136 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmEnterpriseSocialSecurityInfoController.java
  75. 144 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmEnterpriseTaxArrearsInfoController.java
  76. 144 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmEnterpriseTaxClassificationInfoController.java
  77. 144 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmEnterpriseTaxInformationController.java
  78. 147 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmEnterpriseTaxPaymentInfoController.java
  79. 145 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmEnterpriseTechnologyRndSummaryController.java
  80. 164 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmEnterpriseTrademarkInformationController.java
  81. 135 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmEnvSupervisionViolationSupervisionController.java
  82. 140 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmEnvironmentalCreditEvaluationNotificationController.java
  83. 136 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmEnvironmentalOtherPenaltiesController.java
  84. 136 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmEquityFreezeController.java
  85. 136 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmEquityPledgeInformationController.java
  86. 71 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmFileController.java
  87. 136 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmFinanceSupervisionFinancialPenaltyController.java
  88. 136 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmFinanceSupervisionFiscalPenaltyController.java
  89. 136 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmFinanceSupervisionLocalPenaltyController.java
  90. 136 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmFinanceSupervisionPbcPenaltyController.java
  91. 136 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmFinancialReportController.java
  92. 135 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmFraudulentMaterialsController.java
  93. 148 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmGasFeeInformationController.java
  94. 136 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmGovernmentAwardedHonorsController.java
  95. 136 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmHealthSanitationPenaltyController.java
  96. 180 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmHighTechZoneEnterprisesController.java
  97. 136 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmHouseMortgageController.java
  98. 135 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmHuiparkLoanAccountController.java
  99. 145 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmIndustrialParkWaterUsageDetailController.java
  100. 135 0
      zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmIndustryOrganizationDisciplinePenaltyController.java

+ 20 - 0
LICENSE

@@ -0,0 +1,20 @@
+The MIT License (MIT)
+
+Copyright (c) 2018 RuoYi
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

+ 3 - 0
README.md

@@ -0,0 +1,3 @@
+# credit-rating
+
+分级管控平台

TEMPAT SAMPAH
doc/若依环境使用手册.docx


+ 276 - 0
pom.xml

@@ -0,0 +1,276 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	
+    <groupId>com.zksy</groupId>
+    <artifactId>zksy</artifactId>
+    <version>1.0.0</version>
+    
+    <name>zksy</name>
+    <url></url>
+    <description>中科盛阳信息技术有限公司</description>
+    
+    <properties>
+        <zksy.version>1.0.0</zksy.version>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+        <java.version>1.8</java.version>
+        <maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
+        <druid.version>1.2.8</druid.version>
+        <bitwalker.version>1.21</bitwalker.version>
+        <swagger.version>3.0.0</swagger.version>
+        <kaptcha.version>2.3.2</kaptcha.version>
+        <mybatis-spring-boot.version>2.2.2</mybatis-spring-boot.version>
+        <mybatis-plus-boot-starter.version>3.5.1</mybatis-plus-boot-starter.version>
+        <pagehelper.boot.version>1.4.1</pagehelper.boot.version>
+        <fastjson.version>1.2.79</fastjson.version>
+        <oshi.version>6.1.2</oshi.version>
+        <jna.version>5.10.0</jna.version>
+        <lombok.version>1.18.22</lombok.version>
+        <commons.io.version>2.11.0</commons.io.version>
+        <commons.fileupload.version>1.4</commons.fileupload.version>
+        <commons.collections.version>3.2.2</commons.collections.version>
+        <poi.version>5.2.3</poi.version>
+        <velocity.version>2.3</velocity.version>
+        <jwt.version>0.9.1</jwt.version>
+    </properties>
+	
+    <!-- 依赖声明 -->
+    <dependencyManagement>
+        <dependencies>
+
+            <!-- SpringBoot的依赖配置-->
+            <dependency>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-dependencies</artifactId>
+                <version>2.5.10</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+
+            <!-- 阿里数据库连接池 -->
+            <dependency>
+                <groupId>com.alibaba</groupId>
+                <artifactId>druid-spring-boot-starter</artifactId>
+                <version>${druid.version}</version>
+            </dependency>
+
+            <!-- 解析客户端操作系统、浏览器等 -->
+            <dependency>
+                <groupId>eu.bitwalker</groupId>
+                <artifactId>UserAgentUtils</artifactId>
+                <version>${bitwalker.version}</version>
+            </dependency>
+
+            <!-- SpringBoot集成mybatis框架 -->
+            <!-- <dependency>
+                <groupId>org.mybatis.spring.boot</groupId>
+                <artifactId>mybatis-spring-boot-starter</artifactId>
+                <version>${mybatis-spring-boot.version}</version>
+            </dependency> -->
+            
+            <!-- mybatis-plus 增强CRUD -->
+            <dependency>
+                <groupId>com.baomidou</groupId>
+                <artifactId>mybatis-plus-boot-starter</artifactId>
+                <version>${mybatis-plus-boot-starter.version}</version>
+            </dependency>
+
+            <!-- pagehelper 分页插件 -->
+            <dependency>
+                <groupId>com.github.pagehelper</groupId>
+                <artifactId>pagehelper-spring-boot-starter</artifactId>
+                <version>${pagehelper.boot.version}</version>
+            </dependency>
+
+            <!-- 获取系统信息 -->
+            <dependency>
+                <groupId>com.github.oshi</groupId>
+                <artifactId>oshi-core</artifactId>
+                <version>${oshi.version}</version>
+            </dependency>
+
+            <dependency>
+                <groupId>net.java.dev.jna</groupId>
+                <artifactId>jna</artifactId>
+                <version>${jna.version}</version>
+            </dependency>
+
+            <dependency>
+                <groupId>net.java.dev.jna</groupId>
+                <artifactId>jna-platform</artifactId>
+                <version>${jna.version}</version>
+            </dependency>
+
+            <!-- Swagger3依赖 -->
+            <dependency>
+                <groupId>io.springfox</groupId>
+                <artifactId>springfox-boot-starter</artifactId>
+                <version>${swagger.version}</version>
+                <exclusions>
+                    <exclusion>
+                        <groupId>io.swagger</groupId>
+                        <artifactId>swagger-models</artifactId>
+                    </exclusion>
+                </exclusions>
+            </dependency>
+
+            <!-- io常用工具类 -->
+            <dependency>
+                <groupId>commons-io</groupId>
+                <artifactId>commons-io</artifactId>
+                <version>${commons.io.version}</version>
+            </dependency>
+
+            <!-- 文件上传工具类 -->
+            <dependency>
+                <groupId>commons-fileupload</groupId>
+                <artifactId>commons-fileupload</artifactId>
+                <version>${commons.fileupload.version}</version>
+            </dependency>
+
+            <!-- excel工具 -->
+            <dependency>
+                <groupId>org.apache.poi</groupId>
+                <artifactId>poi-ooxml</artifactId>
+                <version>${poi.version}</version>
+            </dependency>
+
+            <!-- velocity代码生成使用模板 -->
+            <dependency>
+                <groupId>org.apache.velocity</groupId>
+                <artifactId>velocity-engine-core</artifactId>
+                <version>${velocity.version}</version>
+            </dependency>
+
+            <!-- collections工具类 -->
+            <dependency>
+                <groupId>commons-collections</groupId>
+                <artifactId>commons-collections</artifactId>
+                <version>${commons.collections.version}</version>
+            </dependency>
+
+            <!-- 阿里JSON解析器 -->
+            <dependency>
+                <groupId>com.alibaba</groupId>
+                <artifactId>fastjson</artifactId>
+                <version>${fastjson.version}</version>
+            </dependency>
+
+            <!-- Token生成与解析-->
+            <dependency>
+                <groupId>io.jsonwebtoken</groupId>
+                <artifactId>jjwt</artifactId>
+                <version>${jwt.version}</version>
+            </dependency>
+
+            <!-- 验证码 -->
+            <dependency>
+                <groupId>com.github.penggle</groupId>
+                <artifactId>kaptcha</artifactId>
+                <version>${kaptcha.version}</version>
+            </dependency>
+
+            <!-- 定时任务-->
+            <dependency>
+                <groupId>com.zksy</groupId>
+                <artifactId>zksy-quartz</artifactId>
+                <version>${zksy.version}</version>
+            </dependency>
+
+            <!-- 代码生成-->
+            <dependency>
+                <groupId>com.zksy</groupId>
+                <artifactId>zksy-generator</artifactId>
+                <version>${zksy.version}</version>
+            </dependency>
+
+            <!-- 核心模块-->
+            <dependency>
+                <groupId>com.zksy</groupId>
+                <artifactId>zksy-framework</artifactId>
+                <version>${zksy.version}</version>
+            </dependency>
+
+            <!-- 系统模块-->
+            <dependency>
+                <groupId>com.zksy</groupId>
+                <artifactId>zksy-system</artifactId>
+                <version>${zksy.version}</version>
+            </dependency>
+
+            <!-- 通用工具-->
+            <dependency>
+                <groupId>com.zksy</groupId>
+                <artifactId>zksy-common</artifactId>
+                <version>${zksy.version}</version>
+            </dependency>
+
+            <!-- lombok-->
+            <dependency>
+                <groupId>org.projectlombok</groupId>
+                <artifactId>lombok</artifactId>
+                <version>${lombok.version}</version>
+            </dependency>
+
+        </dependencies>
+    </dependencyManagement>
+
+    <modules>
+        <module>zksy-admin</module>
+        <module>zksy-framework</module>
+        <module>zksy-system</module>
+        <module>zksy-quartz</module>
+        <module>zksy-generator</module>
+        <module>zksy-common</module>
+    </modules>
+    <packaging>pom</packaging>
+
+
+    <dependencies>
+
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <version>3.1</version>
+                <configuration>
+                    <source>${java.version}</source>
+                    <target>${java.version}</target>
+                    <encoding>${project.build.sourceEncoding}</encoding>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+    <!-- <repositories>
+        <repository>
+            <id>public</id>
+            <name>aliyun nexus</name>
+            <url>https://maven.aliyun.com/repository/public</url>
+            <releases>
+                <enabled>true</enabled>
+            </releases>
+        </repository>
+    </repositories>
+
+    <pluginRepositories>
+        <pluginRepository>
+            <id>public</id>
+            <name>aliyun nexus</name>
+            <url>https://maven.aliyun.com/repository/public</url>
+            <releases>
+                <enabled>true</enabled>
+            </releases>
+            <snapshots>
+                <enabled>false</enabled>
+            </snapshots>
+        </pluginRepository>
+    </pluginRepositories> -->
+
+</project>

+ 67 - 0
ry.bat

@@ -0,0 +1,67 @@
+@echo off
+
+rem jarƽ��Ŀ¼
+set AppName=zksy-admin.jar
+
+rem JVM����
+set JVM_OPTS="-Dname=%AppName%  -Duser.timezone=Asia/Shanghai -Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGCDateStamps  -XX:+PrintGCDetails -XX:NewRatio=1 -XX:SurvivorRatio=30 -XX:+UseParallelGC -XX:+UseParallelOldGC"
+
+
+ECHO.
+	ECHO.  [1] ����%AppName%
+	ECHO.  [2] �ر�%AppName%
+	ECHO.  [3] ����%AppName%
+	ECHO.  [4] ����״̬ %AppName%
+	ECHO.  [5] �� ��
+ECHO.
+
+ECHO.������ѡ����Ŀ�����:
+set /p ID=
+	IF "%id%"=="1" GOTO start
+	IF "%id%"=="2" GOTO stop
+	IF "%id%"=="3" GOTO restart
+	IF "%id%"=="4" GOTO status
+	IF "%id%"=="5" EXIT
+PAUSE
+:start
+    for /f "usebackq tokens=1-2" %%a in (`jps -l ^| findstr %AppName%`) do (
+		set pid=%%a
+		set image_name=%%b
+	)
+	if  defined pid (
+		echo %%is running
+		PAUSE
+	)
+
+start javaw %JVM_OPTS% -jar %AppName%
+
+echo  starting����
+echo  Start %AppName% success...
+goto:eof
+
+rem ����stopͨ��jps�������pid����������
+:stop
+	for /f "usebackq tokens=1-2" %%a in (`jps -l ^| findstr %AppName%`) do (
+		set pid=%%a
+		set image_name=%%b
+	)
+	if not defined pid (echo process %AppName% does not exists) else (
+		echo prepare to kill %image_name%
+		echo start kill %pid% ...
+		rem ���ݽ���ID��kill����
+		taskkill /f /pid %pid%
+	)
+goto:eof
+:restart
+	call :stop
+    call :start
+goto:eof
+:status
+	for /f "usebackq tokens=1-2" %%a in (`jps -l ^| findstr %AppName%`) do (
+		set pid=%%a
+		set image_name=%%b
+	)
+	if not defined pid (echo process %AppName% is dead ) else (
+		echo %image_name% is running
+	)
+goto:eof

+ 86 - 0
ry.sh

@@ -0,0 +1,86 @@
+#!/bin/sh
+# ./ry.sh start 启动 stop 停止 restart 重启 status 状态
+AppName=zksy-admin.jar
+
+# JVM参数
+JVM_OPTS="-Dname=$AppName  -Duser.timezone=Asia/Shanghai -Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGCDateStamps  -XX:+PrintGCDetails -XX:NewRatio=1 -XX:SurvivorRatio=30 -XX:+UseParallelGC -XX:+UseParallelOldGC"
+APP_HOME=`pwd`
+LOG_PATH=$APP_HOME/logs/$AppName.log
+
+if [ "$1" = "" ];
+then
+    echo -e "\033[0;31m 未输入操作名 \033[0m  \033[0;34m {start|stop|restart|status} \033[0m"
+    exit 1
+fi
+
+if [ "$AppName" = "" ];
+then
+    echo -e "\033[0;31m 未输入应用名 \033[0m"
+    exit 1
+fi
+
+function start()
+{
+    PID=`ps -ef |grep java|grep $AppName|grep -v grep|awk '{print $2}'`
+
+	if [ x"$PID" != x"" ]; then
+	    echo "$AppName is running..."
+	else
+		nohup java $JVM_OPTS -jar $AppName > /dev/null 2>&1 &
+		echo "Start $AppName success..."
+	fi
+}
+
+function stop()
+{
+    echo "Stop $AppName"
+
+	PID=""
+	query(){
+		PID=`ps -ef |grep java|grep $AppName|grep -v grep|awk '{print $2}'`
+	}
+
+	query
+	if [ x"$PID" != x"" ]; then
+		kill -TERM $PID
+		echo "$AppName (pid:$PID) exiting..."
+		while [ x"$PID" != x"" ]
+		do
+			sleep 1
+			query
+		done
+		echo "$AppName exited."
+	else
+		echo "$AppName already stopped."
+	fi
+}
+
+function restart()
+{
+    stop
+    sleep 2
+    start
+}
+
+function status()
+{
+    PID=`ps -ef |grep java|grep $AppName|grep -v grep|wc -l`
+    if [ $PID != 0 ];then
+        echo "$AppName is running..."
+    else
+        echo "$AppName is not running..."
+    fi
+}
+
+case $1 in
+    start)
+    start;;
+    stop)
+    stop;;
+    restart)
+    restart;;
+    status)
+    status;;
+    *)
+
+esac

+ 174 - 0
sql/quartz.sql

@@ -0,0 +1,174 @@
+DROP TABLE IF EXISTS QRTZ_FIRED_TRIGGERS;
+DROP TABLE IF EXISTS QRTZ_PAUSED_TRIGGER_GRPS;
+DROP TABLE IF EXISTS QRTZ_SCHEDULER_STATE;
+DROP TABLE IF EXISTS QRTZ_LOCKS;
+DROP TABLE IF EXISTS QRTZ_SIMPLE_TRIGGERS;
+DROP TABLE IF EXISTS QRTZ_SIMPROP_TRIGGERS;
+DROP TABLE IF EXISTS QRTZ_CRON_TRIGGERS;
+DROP TABLE IF EXISTS QRTZ_BLOB_TRIGGERS;
+DROP TABLE IF EXISTS QRTZ_TRIGGERS;
+DROP TABLE IF EXISTS QRTZ_JOB_DETAILS;
+DROP TABLE IF EXISTS QRTZ_CALENDARS;
+
+-- ----------------------------
+-- 1、存储每一个已配置的 jobDetail 的详细信息
+-- ----------------------------
+create table QRTZ_JOB_DETAILS (
+    sched_name           varchar(120)    not null            comment '调度名称',
+    job_name             varchar(200)    not null            comment '任务名称',
+    job_group            varchar(200)    not null            comment '任务组名',
+    description          varchar(250)    null                comment '相关介绍',
+    job_class_name       varchar(250)    not null            comment '执行任务类名称',
+    is_durable           varchar(1)      not null            comment '是否持久化',
+    is_nonconcurrent     varchar(1)      not null            comment '是否并发',
+    is_update_data       varchar(1)      not null            comment '是否更新数据',
+    requests_recovery    varchar(1)      not null            comment '是否接受恢复执行',
+    job_data             blob            null                comment '存放持久化job对象',
+    primary key (sched_name, job_name, job_group)
+) engine=innodb comment = '任务详细信息表';
+
+-- ----------------------------
+-- 2、 存储已配置的 Trigger 的信息
+-- ----------------------------
+create table QRTZ_TRIGGERS (
+    sched_name           varchar(120)    not null            comment '调度名称',
+    trigger_name         varchar(200)    not null            comment '触发器的名字',
+    trigger_group        varchar(200)    not null            comment '触发器所属组的名字',
+    job_name             varchar(200)    not null            comment 'qrtz_job_details表job_name的外键',
+    job_group            varchar(200)    not null            comment 'qrtz_job_details表job_group的外键',
+    description          varchar(250)    null                comment '相关介绍',
+    next_fire_time       bigint(13)      null                comment '上一次触发时间(毫秒)',
+    prev_fire_time       bigint(13)      null                comment '下一次触发时间(默认为-1表示不触发)',
+    priority             integer         null                comment '优先级',
+    trigger_state        varchar(16)     not null            comment '触发器状态',
+    trigger_type         varchar(8)      not null            comment '触发器的类型',
+    start_time           bigint(13)      not null            comment '开始时间',
+    end_time             bigint(13)      null                comment '结束时间',
+    calendar_name        varchar(200)    null                comment '日程表名称',
+    misfire_instr        smallint(2)     null                comment '补偿执行的策略',
+    job_data             blob            null                comment '存放持久化job对象',
+    primary key (sched_name, trigger_name, trigger_group),
+    foreign key (sched_name, job_name, job_group) references QRTZ_JOB_DETAILS(sched_name, job_name, job_group)
+) engine=innodb comment = '触发器详细信息表';
+
+-- ----------------------------
+-- 3、 存储简单的 Trigger,包括重复次数,间隔,以及已触发的次数
+-- ----------------------------
+create table QRTZ_SIMPLE_TRIGGERS (
+    sched_name           varchar(120)    not null            comment '调度名称',
+    trigger_name         varchar(200)    not null            comment 'qrtz_triggers表trigger_name的外键',
+    trigger_group        varchar(200)    not null            comment 'qrtz_triggers表trigger_group的外键',
+    repeat_count         bigint(7)       not null            comment '重复的次数统计',
+    repeat_interval      bigint(12)      not null            comment '重复的间隔时间',
+    times_triggered      bigint(10)      not null            comment '已经触发的次数',
+    primary key (sched_name, trigger_name, trigger_group),
+    foreign key (sched_name, trigger_name, trigger_group) references QRTZ_TRIGGERS(sched_name, trigger_name, trigger_group)
+) engine=innodb comment = '简单触发器的信息表';
+
+-- ----------------------------
+-- 4、 存储 Cron Trigger,包括 Cron 表达式和时区信息
+-- ---------------------------- 
+create table QRTZ_CRON_TRIGGERS (
+    sched_name           varchar(120)    not null            comment '调度名称',
+    trigger_name         varchar(200)    not null            comment 'qrtz_triggers表trigger_name的外键',
+    trigger_group        varchar(200)    not null            comment 'qrtz_triggers表trigger_group的外键',
+    cron_expression      varchar(200)    not null            comment 'cron表达式',
+    time_zone_id         varchar(80)                         comment '时区',
+    primary key (sched_name, trigger_name, trigger_group),
+    foreign key (sched_name, trigger_name, trigger_group) references QRTZ_TRIGGERS(sched_name, trigger_name, trigger_group)
+) engine=innodb comment = 'Cron类型的触发器表';
+
+-- ----------------------------
+-- 5、 Trigger 作为 Blob 类型存储(用于 Quartz 用户用 JDBC 创建他们自己定制的 Trigger 类型,JobStore 并不知道如何存储实例的时候)
+-- ---------------------------- 
+create table QRTZ_BLOB_TRIGGERS (
+    sched_name           varchar(120)    not null            comment '调度名称',
+    trigger_name         varchar(200)    not null            comment 'qrtz_triggers表trigger_name的外键',
+    trigger_group        varchar(200)    not null            comment 'qrtz_triggers表trigger_group的外键',
+    blob_data            blob            null                comment '存放持久化Trigger对象',
+    primary key (sched_name, trigger_name, trigger_group),
+    foreign key (sched_name, trigger_name, trigger_group) references QRTZ_TRIGGERS(sched_name, trigger_name, trigger_group)
+) engine=innodb comment = 'Blob类型的触发器表';
+
+-- ----------------------------
+-- 6、 以 Blob 类型存储存放日历信息, quartz可配置一个日历来指定一个时间范围
+-- ---------------------------- 
+create table QRTZ_CALENDARS (
+    sched_name           varchar(120)    not null            comment '调度名称',
+    calendar_name        varchar(200)    not null            comment '日历名称',
+    calendar             blob            not null            comment '存放持久化calendar对象',
+    primary key (sched_name, calendar_name)
+) engine=innodb comment = '日历信息表';
+
+-- ----------------------------
+-- 7、 存储已暂停的 Trigger 组的信息
+-- ---------------------------- 
+create table QRTZ_PAUSED_TRIGGER_GRPS (
+    sched_name           varchar(120)    not null            comment '调度名称',
+    trigger_group        varchar(200)    not null            comment 'qrtz_triggers表trigger_group的外键',
+    primary key (sched_name, trigger_group)
+) engine=innodb comment = '暂停的触发器表';
+
+-- ----------------------------
+-- 8、 存储与已触发的 Trigger 相关的状态信息,以及相联 Job 的执行信息
+-- ---------------------------- 
+create table QRTZ_FIRED_TRIGGERS (
+    sched_name           varchar(120)    not null            comment '调度名称',
+    entry_id             varchar(95)     not null            comment '调度器实例id',
+    trigger_name         varchar(200)    not null            comment 'qrtz_triggers表trigger_name的外键',
+    trigger_group        varchar(200)    not null            comment 'qrtz_triggers表trigger_group的外键',
+    instance_name        varchar(200)    not null            comment '调度器实例名',
+    fired_time           bigint(13)      not null            comment '触发的时间',
+    sched_time           bigint(13)      not null            comment '定时器制定的时间',
+    priority             integer         not null            comment '优先级',
+    state                varchar(16)     not null            comment '状态',
+    job_name             varchar(200)    null                comment '任务名称',
+    job_group            varchar(200)    null                comment '任务组名',
+    is_nonconcurrent     varchar(1)      null                comment '是否并发',
+    requests_recovery    varchar(1)      null                comment '是否接受恢复执行',
+    primary key (sched_name, entry_id)
+) engine=innodb comment = '已触发的触发器表';
+
+-- ----------------------------
+-- 9、 存储少量的有关 Scheduler 的状态信息,假如是用于集群中,可以看到其他的 Scheduler 实例
+-- ---------------------------- 
+create table QRTZ_SCHEDULER_STATE (
+    sched_name           varchar(120)    not null            comment '调度名称',
+    instance_name        varchar(200)    not null            comment '实例名称',
+    last_checkin_time    bigint(13)      not null            comment '上次检查时间',
+    checkin_interval     bigint(13)      not null            comment '检查间隔时间',
+    primary key (sched_name, instance_name)
+) engine=innodb comment = '调度器状态表';
+
+-- ----------------------------
+-- 10、 存储程序的悲观锁的信息(假如使用了悲观锁)
+-- ---------------------------- 
+create table QRTZ_LOCKS (
+    sched_name           varchar(120)    not null            comment '调度名称',
+    lock_name            varchar(40)     not null            comment '悲观锁名称',
+    primary key (sched_name, lock_name)
+) engine=innodb comment = '存储的悲观锁信息表';
+
+-- ----------------------------
+-- 11、 Quartz集群实现同步机制的行锁表
+-- ---------------------------- 
+create table QRTZ_SIMPROP_TRIGGERS (
+    sched_name           varchar(120)    not null            comment '调度名称',
+    trigger_name         varchar(200)    not null            comment 'qrtz_triggers表trigger_name的外键',
+    trigger_group        varchar(200)    not null            comment 'qrtz_triggers表trigger_group的外键',
+    str_prop_1           varchar(512)    null                comment 'String类型的trigger的第一个参数',
+    str_prop_2           varchar(512)    null                comment 'String类型的trigger的第二个参数',
+    str_prop_3           varchar(512)    null                comment 'String类型的trigger的第三个参数',
+    int_prop_1           int             null                comment 'int类型的trigger的第一个参数',
+    int_prop_2           int             null                comment 'int类型的trigger的第二个参数',
+    long_prop_1          bigint          null                comment 'long类型的trigger的第一个参数',
+    long_prop_2          bigint          null                comment 'long类型的trigger的第二个参数',
+    dec_prop_1           numeric(13,4)   null                comment 'decimal类型的trigger的第一个参数',
+    dec_prop_2           numeric(13,4)   null                comment 'decimal类型的trigger的第二个参数',
+    bool_prop_1          varchar(1)      null                comment 'Boolean类型的trigger的第一个参数',
+    bool_prop_2          varchar(1)      null                comment 'Boolean类型的trigger的第二个参数',
+    primary key (sched_name, trigger_name, trigger_group),
+    foreign key (sched_name, trigger_name, trigger_group) references QRTZ_TRIGGERS(sched_name, trigger_name, trigger_group)
+) engine=innodb comment = '同步机制的行锁表';
+
+commit;

+ 687 - 0
sql/ry_20210908.sql

@@ -0,0 +1,687 @@
+-- ----------------------------
+-- 1、部门表
+-- ----------------------------
+drop table if exists sys_dept;
+create table sys_dept (
+  dept_id           bigint(20)      not null auto_increment    comment '部门id',
+  parent_id         bigint(20)      default 0                  comment '父部门id',
+  ancestors         varchar(50)     default ''                 comment '祖级列表',
+  dept_name         varchar(30)     default ''                 comment '部门名称',
+  order_num         int(4)          default 0                  comment '显示顺序',
+  leader            varchar(20)     default null               comment '负责人',
+  phone             varchar(11)     default null               comment '联系电话',
+  email             varchar(50)     default null               comment '邮箱',
+  status            char(1)         default '0'                comment '部门状态(0正常 1停用)',
+  del_flag          char(1)         default '0'                comment '删除标志(0代表存在 2代表删除)',
+  create_by         varchar(64)     default ''                 comment '创建者',
+  create_time 	    datetime                                   comment '创建时间',
+  update_by         varchar(64)     default ''                 comment '更新者',
+  update_time       datetime                                   comment '更新时间',
+  primary key (dept_id)
+) engine=innodb auto_increment=200 comment = '部门表';
+
+-- ----------------------------
+-- 初始化-部门表数据
+-- ----------------------------
+insert into sys_dept values(100,  0,   '0',          '若依科技',   0, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null);
+insert into sys_dept values(101,  100, '0,100',      '深圳总公司', 1, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null);
+insert into sys_dept values(102,  100, '0,100',      '长沙分公司', 2, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null);
+insert into sys_dept values(103,  101, '0,100,101',  '研发部门',   1, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null);
+insert into sys_dept values(104,  101, '0,100,101',  '市场部门',   2, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null);
+insert into sys_dept values(105,  101, '0,100,101',  '测试部门',   3, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null);
+insert into sys_dept values(106,  101, '0,100,101',  '财务部门',   4, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null);
+insert into sys_dept values(107,  101, '0,100,101',  '运维部门',   5, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null);
+insert into sys_dept values(108,  102, '0,100,102',  '市场部门',   1, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null);
+insert into sys_dept values(109,  102, '0,100,102',  '财务部门',   2, '若依', '15888888888', 'ry@qq.com', '0', '0', 'admin', sysdate(), '', null);
+
+
+-- ----------------------------
+-- 2、用户信息表
+-- ----------------------------
+drop table if exists sys_user;
+create table sys_user (
+  user_id           bigint(20)      not null auto_increment    comment '用户ID',
+  dept_id           bigint(20)      default null               comment '部门ID',
+  user_name         varchar(30)     not null                   comment '用户账号',
+  nick_name         varchar(30)     not null                   comment '用户昵称',
+  user_type         varchar(2)      default '00'               comment '用户类型(00系统用户)',
+  email             varchar(50)     default ''                 comment '用户邮箱',
+  phonenumber       varchar(11)     default ''                 comment '手机号码',
+  sex               char(1)         default '0'                comment '用户性别(0男 1女 2未知)',
+  avatar            varchar(100)    default ''                 comment '头像地址',
+  password          varchar(100)    default ''                 comment '密码',
+  status            char(1)         default '0'                comment '帐号状态(0正常 1停用)',
+  del_flag          char(1)         default '0'                comment '删除标志(0代表存在 2代表删除)',
+  login_ip          varchar(128)    default ''                 comment '最后登录IP',
+  login_date        datetime                                   comment '最后登录时间',
+  create_by         varchar(64)     default ''                 comment '创建者',
+  create_time       datetime                                   comment '创建时间',
+  update_by         varchar(64)     default ''                 comment '更新者',
+  update_time       datetime                                   comment '更新时间',
+  remark            varchar(500)    default null               comment '备注',
+  primary key (user_id)
+) engine=innodb auto_increment=100 comment = '用户信息表';
+
+-- ----------------------------
+-- 初始化-用户信息表数据
+-- ----------------------------
+insert into sys_user values(1,  103, 'admin', '若依', '00', 'ry@163.com', '15888888888', '1', '', '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '127.0.0.1', sysdate(), 'admin', sysdate(), '', null, '管理员');
+insert into sys_user values(2,  105, 'ry',    '若依', '00', 'ry@qq.com',  '15666666666', '1', '', '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '127.0.0.1', sysdate(), 'admin', sysdate(), '', null, '测试员');
+
+
+-- ----------------------------
+-- 3、岗位信息表
+-- ----------------------------
+drop table if exists sys_post;
+create table sys_post
+(
+  post_id       bigint(20)      not null auto_increment    comment '岗位ID',
+  post_code     varchar(64)     not null                   comment '岗位编码',
+  post_name     varchar(50)     not null                   comment '岗位名称',
+  post_sort     int(4)          not null                   comment '显示顺序',
+  status        char(1)         not null                   comment '状态(0正常 1停用)',
+  create_by     varchar(64)     default ''                 comment '创建者',
+  create_time   datetime                                   comment '创建时间',
+  update_by     varchar(64)     default ''			       comment '更新者',
+  update_time   datetime                                   comment '更新时间',
+  remark        varchar(500)    default null               comment '备注',
+  primary key (post_id)
+) engine=innodb comment = '岗位信息表';
+
+-- ----------------------------
+-- 初始化-岗位信息表数据
+-- ----------------------------
+insert into sys_post values(1, 'ceo',  '董事长',    1, '0', 'admin', sysdate(), '', null, '');
+insert into sys_post values(2, 'se',   '项目经理',  2, '0', 'admin', sysdate(), '', null, '');
+insert into sys_post values(3, 'hr',   '人力资源',  3, '0', 'admin', sysdate(), '', null, '');
+insert into sys_post values(4, 'user', '普通员工',  4, '0', 'admin', sysdate(), '', null, '');
+
+
+-- ----------------------------
+-- 4、角色信息表
+-- ----------------------------
+drop table if exists sys_role;
+create table sys_role (
+  role_id              bigint(20)      not null auto_increment    comment '角色ID',
+  role_name            varchar(30)     not null                   comment '角色名称',
+  role_key             varchar(100)    not null                   comment '角色权限字符串',
+  role_sort            int(4)          not null                   comment '显示顺序',
+  data_scope           char(1)         default '1'                comment '数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限)',
+  menu_check_strictly  tinyint(1)      default 1                  comment '菜单树选择项是否关联显示',
+  dept_check_strictly  tinyint(1)      default 1                  comment '部门树选择项是否关联显示',
+  status               char(1)         not null                   comment '角色状态(0正常 1停用)',
+  del_flag             char(1)         default '0'                comment '删除标志(0代表存在 2代表删除)',
+  create_by            varchar(64)     default ''                 comment '创建者',
+  create_time          datetime                                   comment '创建时间',
+  update_by            varchar(64)     default ''                 comment '更新者',
+  update_time          datetime                                   comment '更新时间',
+  remark               varchar(500)    default null               comment '备注',
+  primary key (role_id)
+) engine=innodb auto_increment=100 comment = '角色信息表';
+
+-- ----------------------------
+-- 初始化-角色信息表数据
+-- ----------------------------
+insert into sys_role values('1', '超级管理员',  'admin',  1, 1, 1, 1, '0', '0', 'admin', sysdate(), '', null, '超级管理员');
+insert into sys_role values('2', '普通角色',    'common', 2, 2, 1, 1, '0', '0', 'admin', sysdate(), '', null, '普通角色');
+
+
+-- ----------------------------
+-- 5、菜单权限表
+-- ----------------------------
+drop table if exists sys_menu;
+create table sys_menu (
+  menu_id           bigint(20)      not null auto_increment    comment '菜单ID',
+  menu_name         varchar(50)     not null                   comment '菜单名称',
+  parent_id         bigint(20)      default 0                  comment '父菜单ID',
+  order_num         int(4)          default 0                  comment '显示顺序',
+  path              varchar(200)    default ''                 comment '路由地址',
+  component         varchar(255)    default null               comment '组件路径',
+  query             varchar(255)    default null               comment '路由参数',
+  is_frame          int(1)          default 1                  comment '是否为外链(0是 1否)',
+  is_cache          int(1)          default 0                  comment '是否缓存(0缓存 1不缓存)',
+  menu_type         char(1)         default ''                 comment '菜单类型(M目录 C菜单 F按钮)',
+  visible           char(1)         default 0                  comment '菜单状态(0显示 1隐藏)',
+  status            char(1)         default 0                  comment '菜单状态(0正常 1停用)',
+  perms             varchar(100)    default null               comment '权限标识',
+  icon              varchar(100)    default '#'                comment '菜单图标',
+  create_by         varchar(64)     default ''                 comment '创建者',
+  create_time       datetime                                   comment '创建时间',
+  update_by         varchar(64)     default ''                 comment '更新者',
+  update_time       datetime                                   comment '更新时间',
+  remark            varchar(500)    default ''                 comment '备注',
+  primary key (menu_id)
+) engine=innodb auto_increment=2000 comment = '菜单权限表';
+
+-- ----------------------------
+-- 初始化-菜单信息表数据
+-- ----------------------------
+-- 一级菜单
+insert into sys_menu values('1', '系统管理', '0', '1', 'system',           null, '', 1, 0, 'M', '0', '0', '', 'system',   'admin', sysdate(), '', null, '系统管理目录');
+insert into sys_menu values('2', '系统监控', '0', '2', 'monitor',          null, '', 1, 0, 'M', '0', '0', '', 'monitor',  'admin', sysdate(), '', null, '系统监控目录');
+insert into sys_menu values('3', '系统工具', '0', '3', 'tool',             null, '', 1, 0, 'M', '0', '0', '', 'tool',     'admin', sysdate(), '', null, '系统工具目录');
+-- 二级菜单
+insert into sys_menu values('100',  '用户管理', '1',   '1', 'user',       'system/user/index',        '', 1, 0, 'C', '0', '0', 'system:user:list',        'user',          'admin', sysdate(), '', null, '用户管理菜单');
+insert into sys_menu values('101',  '角色管理', '1',   '2', 'role',       'system/role/index',        '', 1, 0, 'C', '0', '0', 'system:role:list',        'peoples',       'admin', sysdate(), '', null, '角色管理菜单');
+insert into sys_menu values('102',  '菜单管理', '1',   '3', 'menu',       'system/menu/index',        '', 1, 0, 'C', '0', '0', 'system:menu:list',        'tree-table',    'admin', sysdate(), '', null, '菜单管理菜单');
+insert into sys_menu values('103',  '部门管理', '1',   '4', 'dept',       'system/dept/index',        '', 1, 0, 'C', '0', '0', 'system:dept:list',        'tree',          'admin', sysdate(), '', null, '部门管理菜单');
+insert into sys_menu values('104',  '岗位管理', '1',   '5', 'post',       'system/post/index',        '', 1, 0, 'C', '0', '0', 'system:post:list',        'post',          'admin', sysdate(), '', null, '岗位管理菜单');
+insert into sys_menu values('105',  '字典管理', '1',   '6', 'dict',       'system/dict/index',        '', 1, 0, 'C', '0', '0', 'system:dict:list',        'dict',          'admin', sysdate(), '', null, '字典管理菜单');
+insert into sys_menu values('106',  '参数设置', '1',   '7', 'config',     'system/config/index',      '', 1, 0, 'C', '0', '0', 'system:config:list',      'edit',          'admin', sysdate(), '', null, '参数设置菜单');
+insert into sys_menu values('107',  '通知公告', '1',   '8', 'notice',     'system/notice/index',      '', 1, 0, 'C', '0', '0', 'system:notice:list',      'message',       'admin', sysdate(), '', null, '通知公告菜单');
+insert into sys_menu values('108',  '日志管理', '1',   '9', 'log',        '',                         '', 1, 0, 'M', '0', '0', '',                        'log',           'admin', sysdate(), '', null, '日志管理菜单');
+insert into sys_menu values('109',  '在线用户', '2',   '1', 'online',     'monitor/online/index',     '', 1, 0, 'C', '0', '0', 'monitor:online:list',     'online',        'admin', sysdate(), '', null, '在线用户菜单');
+insert into sys_menu values('110',  '定时任务', '2',   '2', 'job',        'monitor/job/index',        '', 1, 0, 'C', '0', '0', 'monitor:job:list',        'job',           'admin', sysdate(), '', null, '定时任务菜单');
+insert into sys_menu values('111',  '数据监控', '2',   '3', 'druid',      'monitor/druid/index',      '', 1, 0, 'C', '0', '0', 'monitor:druid:list',      'druid',         'admin', sysdate(), '', null, '数据监控菜单');
+insert into sys_menu values('112',  '服务监控', '2',   '4', 'server',     'monitor/server/index',     '', 1, 0, 'C', '0', '0', 'monitor:server:list',     'server',        'admin', sysdate(), '', null, '服务监控菜单');
+insert into sys_menu values('113',  '缓存监控', '2',   '5', 'cache',      'monitor/cache/index',      '', 1, 0, 'C', '0', '0', 'monitor:cache:list',      'redis',         'admin', sysdate(), '', null, '缓存监控菜单');
+insert into sys_menu values('114',  '表单构建', '3',   '1', 'build',      'tool/build/index',         '', 1, 0, 'C', '0', '0', 'tool:build:list',         'build',         'admin', sysdate(), '', null, '表单构建菜单');
+insert into sys_menu values('115',  '代码生成', '3',   '2', 'gen',        'tool/gen/index',           '', 1, 0, 'C', '0', '0', 'tool:gen:list',           'code',          'admin', sysdate(), '', null, '代码生成菜单');
+insert into sys_menu values('116',  '系统接口', '3',   '3', 'swagger',    'tool/swagger/index',       '', 1, 0, 'C', '0', '0', 'tool:swagger:list',       'swagger',       'admin', sysdate(), '', null, '系统接口菜单');
+-- 三级菜单
+insert into sys_menu values('500',  '操作日志', '108', '1', 'operlog',    'monitor/operlog/index',    '', 1, 0, 'C', '0', '0', 'monitor:operlog:list',    'form',          'admin', sysdate(), '', null, '操作日志菜单');
+insert into sys_menu values('501',  '登录日志', '108', '2', 'logininfor', 'monitor/logininfor/index', '', 1, 0, 'C', '0', '0', 'monitor:logininfor:list', 'logininfor',    'admin', sysdate(), '', null, '登录日志菜单');
+-- 用户管理按钮
+insert into sys_menu values('1001', '用户查询', '100', '1',  '', '', '', 1, 0, 'F', '0', '0', 'system:user:query',          '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values('1002', '用户新增', '100', '2',  '', '', '', 1, 0, 'F', '0', '0', 'system:user:add',            '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values('1003', '用户修改', '100', '3',  '', '', '', 1, 0, 'F', '0', '0', 'system:user:edit',           '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values('1004', '用户删除', '100', '4',  '', '', '', 1, 0, 'F', '0', '0', 'system:user:remove',         '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values('1005', '用户导出', '100', '5',  '', '', '', 1, 0, 'F', '0', '0', 'system:user:export',         '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values('1006', '用户导入', '100', '6',  '', '', '', 1, 0, 'F', '0', '0', 'system:user:import',         '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values('1007', '重置密码', '100', '7',  '', '', '', 1, 0, 'F', '0', '0', 'system:user:resetPwd',       '#', 'admin', sysdate(), '', null, '');
+-- 角色管理按钮
+insert into sys_menu values('1008', '角色查询', '101', '1',  '', '', '', 1, 0, 'F', '0', '0', 'system:role:query',          '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values('1009', '角色新增', '101', '2',  '', '', '', 1, 0, 'F', '0', '0', 'system:role:add',            '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values('1010', '角色修改', '101', '3',  '', '', '', 1, 0, 'F', '0', '0', 'system:role:edit',           '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values('1011', '角色删除', '101', '4',  '', '', '', 1, 0, 'F', '0', '0', 'system:role:remove',         '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values('1012', '角色导出', '101', '5',  '', '', '', 1, 0, 'F', '0', '0', 'system:role:export',         '#', 'admin', sysdate(), '', null, '');
+-- 菜单管理按钮
+insert into sys_menu values('1013', '菜单查询', '102', '1',  '', '', '', 1, 0, 'F', '0', '0', 'system:menu:query',          '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values('1014', '菜单新增', '102', '2',  '', '', '', 1, 0, 'F', '0', '0', 'system:menu:add',            '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values('1015', '菜单修改', '102', '3',  '', '', '', 1, 0, 'F', '0', '0', 'system:menu:edit',           '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values('1016', '菜单删除', '102', '4',  '', '', '', 1, 0, 'F', '0', '0', 'system:menu:remove',         '#', 'admin', sysdate(), '', null, '');
+-- 部门管理按钮
+insert into sys_menu values('1017', '部门查询', '103', '1',  '', '', '', 1, 0, 'F', '0', '0', 'system:dept:query',          '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values('1018', '部门新增', '103', '2',  '', '', '', 1, 0, 'F', '0', '0', 'system:dept:add',            '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values('1019', '部门修改', '103', '3',  '', '', '', 1, 0, 'F', '0', '0', 'system:dept:edit',           '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values('1020', '部门删除', '103', '4',  '', '', '', 1, 0, 'F', '0', '0', 'system:dept:remove',         '#', 'admin', sysdate(), '', null, '');
+-- 岗位管理按钮
+insert into sys_menu values('1021', '岗位查询', '104', '1',  '', '', '', 1, 0, 'F', '0', '0', 'system:post:query',          '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values('1022', '岗位新增', '104', '2',  '', '', '', 1, 0, 'F', '0', '0', 'system:post:add',            '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values('1023', '岗位修改', '104', '3',  '', '', '', 1, 0, 'F', '0', '0', 'system:post:edit',           '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values('1024', '岗位删除', '104', '4',  '', '', '', 1, 0, 'F', '0', '0', 'system:post:remove',         '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values('1025', '岗位导出', '104', '5',  '', '', '', 1, 0, 'F', '0', '0', 'system:post:export',         '#', 'admin', sysdate(), '', null, '');
+-- 字典管理按钮
+insert into sys_menu values('1026', '字典查询', '105', '1', '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:query',          '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values('1027', '字典新增', '105', '2', '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:add',            '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values('1028', '字典修改', '105', '3', '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:edit',           '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values('1029', '字典删除', '105', '4', '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:remove',         '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values('1030', '字典导出', '105', '5', '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:export',         '#', 'admin', sysdate(), '', null, '');
+-- 参数设置按钮
+insert into sys_menu values('1031', '参数查询', '106', '1', '#', '', '', 1, 0, 'F', '0', '0', 'system:config:query',        '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values('1032', '参数新增', '106', '2', '#', '', '', 1, 0, 'F', '0', '0', 'system:config:add',          '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values('1033', '参数修改', '106', '3', '#', '', '', 1, 0, 'F', '0', '0', 'system:config:edit',         '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values('1034', '参数删除', '106', '4', '#', '', '', 1, 0, 'F', '0', '0', 'system:config:remove',       '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values('1035', '参数导出', '106', '5', '#', '', '', 1, 0, 'F', '0', '0', 'system:config:export',       '#', 'admin', sysdate(), '', null, '');
+-- 通知公告按钮
+insert into sys_menu values('1036', '公告查询', '107', '1', '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:query',        '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values('1037', '公告新增', '107', '2', '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:add',          '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values('1038', '公告修改', '107', '3', '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:edit',         '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values('1039', '公告删除', '107', '4', '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:remove',       '#', 'admin', sysdate(), '', null, '');
+-- 操作日志按钮
+insert into sys_menu values('1040', '操作查询', '500', '1', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:operlog:query',      '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values('1041', '操作删除', '500', '2', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:operlog:remove',     '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values('1042', '日志导出', '500', '4', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:operlog:export',     '#', 'admin', sysdate(), '', null, '');
+-- 登录日志按钮
+insert into sys_menu values('1043', '登录查询', '501', '1', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:query',   '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values('1044', '登录删除', '501', '2', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:remove',  '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values('1045', '日志导出', '501', '3', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:logininfor:export',  '#', 'admin', sysdate(), '', null, '');
+-- 在线用户按钮
+insert into sys_menu values('1046', '在线查询', '109', '1', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:online:query',       '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values('1047', '批量强退', '109', '2', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:online:batchLogout', '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values('1048', '单条强退', '109', '3', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:online:forceLogout', '#', 'admin', sysdate(), '', null, '');
+-- 定时任务按钮
+insert into sys_menu values('1049', '任务查询', '110', '1', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:job:query',          '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values('1050', '任务新增', '110', '2', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:job:add',            '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values('1051', '任务修改', '110', '3', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:job:edit',           '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values('1052', '任务删除', '110', '4', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:job:remove',         '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values('1053', '状态修改', '110', '5', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:job:changeStatus',   '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values('1054', '任务导出', '110', '7', '#', '', '', 1, 0, 'F', '0', '0', 'monitor:job:export',         '#', 'admin', sysdate(), '', null, '');
+-- 代码生成按钮
+insert into sys_menu values('1055', '生成查询', '115', '1', '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:query',             '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values('1056', '生成修改', '115', '2', '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:edit',              '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values('1057', '生成删除', '115', '3', '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:remove',            '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values('1058', '导入代码', '115', '2', '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:import',            '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values('1059', '预览代码', '115', '4', '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:preview',           '#', 'admin', sysdate(), '', null, '');
+insert into sys_menu values('1060', '生成代码', '115', '5', '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:code',              '#', 'admin', sysdate(), '', null, '');
+
+
+-- ----------------------------
+-- 6、用户和角色关联表  用户N-1角色
+-- ----------------------------
+drop table if exists sys_user_role;
+create table sys_user_role (
+  user_id   bigint(20) not null comment '用户ID',
+  role_id   bigint(20) not null comment '角色ID',
+  primary key(user_id, role_id)
+) engine=innodb comment = '用户和角色关联表';
+
+-- ----------------------------
+-- 初始化-用户和角色关联表数据
+-- ----------------------------
+insert into sys_user_role values ('1', '1');
+insert into sys_user_role values ('2', '2');
+
+
+-- ----------------------------
+-- 7、角色和菜单关联表  角色1-N菜单
+-- ----------------------------
+drop table if exists sys_role_menu;
+create table sys_role_menu (
+  role_id   bigint(20) not null comment '角色ID',
+  menu_id   bigint(20) not null comment '菜单ID',
+  primary key(role_id, menu_id)
+) engine=innodb comment = '角色和菜单关联表';
+
+-- ----------------------------
+-- 初始化-角色和菜单关联表数据
+-- ----------------------------
+insert into sys_role_menu values ('2', '1');
+insert into sys_role_menu values ('2', '2');
+insert into sys_role_menu values ('2', '3');
+insert into sys_role_menu values ('2', '4');
+insert into sys_role_menu values ('2', '100');
+insert into sys_role_menu values ('2', '101');
+insert into sys_role_menu values ('2', '102');
+insert into sys_role_menu values ('2', '103');
+insert into sys_role_menu values ('2', '104');
+insert into sys_role_menu values ('2', '105');
+insert into sys_role_menu values ('2', '106');
+insert into sys_role_menu values ('2', '107');
+insert into sys_role_menu values ('2', '108');
+insert into sys_role_menu values ('2', '109');
+insert into sys_role_menu values ('2', '110');
+insert into sys_role_menu values ('2', '111');
+insert into sys_role_menu values ('2', '112');
+insert into sys_role_menu values ('2', '113');
+insert into sys_role_menu values ('2', '114');
+insert into sys_role_menu values ('2', '115');
+insert into sys_role_menu values ('2', '116');
+insert into sys_role_menu values ('2', '500');
+insert into sys_role_menu values ('2', '501');
+insert into sys_role_menu values ('2', '1000');
+insert into sys_role_menu values ('2', '1001');
+insert into sys_role_menu values ('2', '1002');
+insert into sys_role_menu values ('2', '1003');
+insert into sys_role_menu values ('2', '1004');
+insert into sys_role_menu values ('2', '1005');
+insert into sys_role_menu values ('2', '1006');
+insert into sys_role_menu values ('2', '1007');
+insert into sys_role_menu values ('2', '1008');
+insert into sys_role_menu values ('2', '1009');
+insert into sys_role_menu values ('2', '1010');
+insert into sys_role_menu values ('2', '1011');
+insert into sys_role_menu values ('2', '1012');
+insert into sys_role_menu values ('2', '1013');
+insert into sys_role_menu values ('2', '1014');
+insert into sys_role_menu values ('2', '1015');
+insert into sys_role_menu values ('2', '1016');
+insert into sys_role_menu values ('2', '1017');
+insert into sys_role_menu values ('2', '1018');
+insert into sys_role_menu values ('2', '1019');
+insert into sys_role_menu values ('2', '1020');
+insert into sys_role_menu values ('2', '1021');
+insert into sys_role_menu values ('2', '1022');
+insert into sys_role_menu values ('2', '1023');
+insert into sys_role_menu values ('2', '1024');
+insert into sys_role_menu values ('2', '1025');
+insert into sys_role_menu values ('2', '1026');
+insert into sys_role_menu values ('2', '1027');
+insert into sys_role_menu values ('2', '1028');
+insert into sys_role_menu values ('2', '1029');
+insert into sys_role_menu values ('2', '1030');
+insert into sys_role_menu values ('2', '1031');
+insert into sys_role_menu values ('2', '1032');
+insert into sys_role_menu values ('2', '1033');
+insert into sys_role_menu values ('2', '1034');
+insert into sys_role_menu values ('2', '1035');
+insert into sys_role_menu values ('2', '1036');
+insert into sys_role_menu values ('2', '1037');
+insert into sys_role_menu values ('2', '1038');
+insert into sys_role_menu values ('2', '1039');
+insert into sys_role_menu values ('2', '1040');
+insert into sys_role_menu values ('2', '1041');
+insert into sys_role_menu values ('2', '1042');
+insert into sys_role_menu values ('2', '1043');
+insert into sys_role_menu values ('2', '1044');
+insert into sys_role_menu values ('2', '1045');
+insert into sys_role_menu values ('2', '1046');
+insert into sys_role_menu values ('2', '1047');
+insert into sys_role_menu values ('2', '1048');
+insert into sys_role_menu values ('2', '1049');
+insert into sys_role_menu values ('2', '1050');
+insert into sys_role_menu values ('2', '1051');
+insert into sys_role_menu values ('2', '1052');
+insert into sys_role_menu values ('2', '1053');
+insert into sys_role_menu values ('2', '1054');
+insert into sys_role_menu values ('2', '1055');
+insert into sys_role_menu values ('2', '1056');
+insert into sys_role_menu values ('2', '1057');
+insert into sys_role_menu values ('2', '1058');
+insert into sys_role_menu values ('2', '1059');
+insert into sys_role_menu values ('2', '1060');
+
+-- ----------------------------
+-- 8、角色和部门关联表  角色1-N部门
+-- ----------------------------
+drop table if exists sys_role_dept;
+create table sys_role_dept (
+  role_id   bigint(20) not null comment '角色ID',
+  dept_id   bigint(20) not null comment '部门ID',
+  primary key(role_id, dept_id)
+) engine=innodb comment = '角色和部门关联表';
+
+-- ----------------------------
+-- 初始化-角色和部门关联表数据
+-- ----------------------------
+insert into sys_role_dept values ('2', '100');
+insert into sys_role_dept values ('2', '101');
+insert into sys_role_dept values ('2', '105');
+
+
+-- ----------------------------
+-- 9、用户与岗位关联表  用户1-N岗位
+-- ----------------------------
+drop table if exists sys_user_post;
+create table sys_user_post
+(
+  user_id   bigint(20) not null comment '用户ID',
+  post_id   bigint(20) not null comment '岗位ID',
+  primary key (user_id, post_id)
+) engine=innodb comment = '用户与岗位关联表';
+
+-- ----------------------------
+-- 初始化-用户与岗位关联表数据
+-- ----------------------------
+insert into sys_user_post values ('1', '1');
+insert into sys_user_post values ('2', '2');
+
+
+-- ----------------------------
+-- 10、操作日志记录
+-- ----------------------------
+drop table if exists sys_oper_log;
+create table sys_oper_log (
+  oper_id           bigint(20)      not null auto_increment    comment '日志主键',
+  title             varchar(50)     default ''                 comment '模块标题',
+  business_type     int(2)          default 0                  comment '业务类型(0其它 1新增 2修改 3删除)',
+  method            varchar(100)    default ''                 comment '方法名称',
+  request_method    varchar(10)     default ''                 comment '请求方式',
+  operator_type     int(1)          default 0                  comment '操作类别(0其它 1后台用户 2手机端用户)',
+  oper_name         varchar(50)     default ''                 comment '操作人员',
+  dept_name         varchar(50)     default ''                 comment '部门名称',
+  oper_url          varchar(255)    default ''                 comment '请求URL',
+  oper_ip           varchar(128)    default ''                 comment '主机地址',
+  oper_location     varchar(255)    default ''                 comment '操作地点',
+  oper_param        varchar(2000)   default ''                 comment '请求参数',
+  json_result       varchar(2000)   default ''                 comment '返回参数',
+  status            int(1)          default 0                  comment '操作状态(0正常 1异常)',
+  error_msg         varchar(2000)   default ''                 comment '错误消息',
+  oper_time         datetime                                   comment '操作时间',
+  primary key (oper_id)
+) engine=innodb auto_increment=100 comment = '操作日志记录';
+
+
+-- ----------------------------
+-- 11、字典类型表
+-- ----------------------------
+drop table if exists sys_dict_type;
+create table sys_dict_type
+(
+  dict_id          bigint(20)      not null auto_increment    comment '字典主键',
+  dict_name        varchar(100)    default ''                 comment '字典名称',
+  dict_type        varchar(100)    default ''                 comment '字典类型',
+  status           char(1)         default '0'                comment '状态(0正常 1停用)',
+  create_by        varchar(64)     default ''                 comment '创建者',
+  create_time      datetime                                   comment '创建时间',
+  update_by        varchar(64)     default ''                 comment '更新者',
+  update_time      datetime                                   comment '更新时间',
+  remark           varchar(500)    default null               comment '备注',
+  primary key (dict_id),
+  unique (dict_type)
+) engine=innodb auto_increment=100 comment = '字典类型表';
+
+insert into sys_dict_type values(1,  '用户性别', 'sys_user_sex',        '0', 'admin', sysdate(), '', null, '用户性别列表');
+insert into sys_dict_type values(2,  '菜单状态', 'sys_show_hide',       '0', 'admin', sysdate(), '', null, '菜单状态列表');
+insert into sys_dict_type values(3,  '系统开关', 'sys_normal_disable',  '0', 'admin', sysdate(), '', null, '系统开关列表');
+insert into sys_dict_type values(4,  '任务状态', 'sys_job_status',      '0', 'admin', sysdate(), '', null, '任务状态列表');
+insert into sys_dict_type values(5,  '任务分组', 'sys_job_group',       '0', 'admin', sysdate(), '', null, '任务分组列表');
+insert into sys_dict_type values(6,  '系统是否', 'sys_yes_no',          '0', 'admin', sysdate(), '', null, '系统是否列表');
+insert into sys_dict_type values(7,  '通知类型', 'sys_notice_type',     '0', 'admin', sysdate(), '', null, '通知类型列表');
+insert into sys_dict_type values(8,  '通知状态', 'sys_notice_status',   '0', 'admin', sysdate(), '', null, '通知状态列表');
+insert into sys_dict_type values(9,  '操作类型', 'sys_oper_type',       '0', 'admin', sysdate(), '', null, '操作类型列表');
+insert into sys_dict_type values(10, '系统状态', 'sys_common_status',   '0', 'admin', sysdate(), '', null, '登录状态列表');
+
+
+-- ----------------------------
+-- 12、字典数据表
+-- ----------------------------
+drop table if exists sys_dict_data;
+create table sys_dict_data
+(
+  dict_code        bigint(20)      not null auto_increment    comment '字典编码',
+  dict_sort        int(4)          default 0                  comment '字典排序',
+  dict_label       varchar(100)    default ''                 comment '字典标签',
+  dict_value       varchar(100)    default ''                 comment '字典键值',
+  dict_type        varchar(100)    default ''                 comment '字典类型',
+  css_class        varchar(100)    default null               comment '样式属性(其他样式扩展)',
+  list_class       varchar(100)    default null               comment '表格回显样式',
+  is_default       char(1)         default 'N'                comment '是否默认(Y是 N否)',
+  status           char(1)         default '0'                comment '状态(0正常 1停用)',
+  create_by        varchar(64)     default ''                 comment '创建者',
+  create_time      datetime                                   comment '创建时间',
+  update_by        varchar(64)     default ''                 comment '更新者',
+  update_time      datetime                                   comment '更新时间',
+  remark           varchar(500)    default null               comment '备注',
+  primary key (dict_code)
+) engine=innodb auto_increment=100 comment = '字典数据表';
+
+insert into sys_dict_data values(1,  1,  '男',       '0',       'sys_user_sex',        '',   '',        'Y', '0', 'admin', sysdate(), '', null, '性别男');
+insert into sys_dict_data values(2,  2,  '女',       '1',       'sys_user_sex',        '',   '',        'N', '0', 'admin', sysdate(), '', null, '性别女');
+insert into sys_dict_data values(3,  3,  '未知',     '2',       'sys_user_sex',        '',   '',        'N', '0', 'admin', sysdate(), '', null, '性别未知');
+insert into sys_dict_data values(4,  1,  '显示',     '0',       'sys_show_hide',       '',   'primary', 'Y', '0', 'admin', sysdate(), '', null, '显示菜单');
+insert into sys_dict_data values(5,  2,  '隐藏',     '1',       'sys_show_hide',       '',   'danger',  'N', '0', 'admin', sysdate(), '', null, '隐藏菜单');
+insert into sys_dict_data values(6,  1,  '正常',     '0',       'sys_normal_disable',  '',   'primary', 'Y', '0', 'admin', sysdate(), '', null, '正常状态');
+insert into sys_dict_data values(7,  2,  '停用',     '1',       'sys_normal_disable',  '',   'danger',  'N', '0', 'admin', sysdate(), '', null, '停用状态');
+insert into sys_dict_data values(8,  1,  '正常',     '0',       'sys_job_status',      '',   'primary', 'Y', '0', 'admin', sysdate(), '', null, '正常状态');
+insert into sys_dict_data values(9,  2,  '暂停',     '1',       'sys_job_status',      '',   'danger',  'N', '0', 'admin', sysdate(), '', null, '停用状态');
+insert into sys_dict_data values(10, 1,  '默认',     'DEFAULT', 'sys_job_group',       '',   '',        'Y', '0', 'admin', sysdate(), '', null, '默认分组');
+insert into sys_dict_data values(11, 2,  '系统',     'SYSTEM',  'sys_job_group',       '',   '',        'N', '0', 'admin', sysdate(), '', null, '系统分组');
+insert into sys_dict_data values(12, 1,  '是',       'Y',       'sys_yes_no',          '',   'primary', 'Y', '0', 'admin', sysdate(), '', null, '系统默认是');
+insert into sys_dict_data values(13, 2,  '否',       'N',       'sys_yes_no',          '',   'danger',  'N', '0', 'admin', sysdate(), '', null, '系统默认否');
+insert into sys_dict_data values(14, 1,  '通知',     '1',       'sys_notice_type',     '',   'warning', 'Y', '0', 'admin', sysdate(), '', null, '通知');
+insert into sys_dict_data values(15, 2,  '公告',     '2',       'sys_notice_type',     '',   'success', 'N', '0', 'admin', sysdate(), '', null, '公告');
+insert into sys_dict_data values(16, 1,  '正常',     '0',       'sys_notice_status',   '',   'primary', 'Y', '0', 'admin', sysdate(), '', null, '正常状态');
+insert into sys_dict_data values(17, 2,  '关闭',     '1',       'sys_notice_status',   '',   'danger',  'N', '0', 'admin', sysdate(), '', null, '关闭状态');
+insert into sys_dict_data values(18, 1,  '新增',     '1',       'sys_oper_type',       '',   'info',    'N', '0', 'admin', sysdate(), '', null, '新增操作');
+insert into sys_dict_data values(19, 2,  '修改',     '2',       'sys_oper_type',       '',   'info',    'N', '0', 'admin', sysdate(), '', null, '修改操作');
+insert into sys_dict_data values(20, 3,  '删除',     '3',       'sys_oper_type',       '',   'danger',  'N', '0', 'admin', sysdate(), '', null, '删除操作');
+insert into sys_dict_data values(21, 4,  '授权',     '4',       'sys_oper_type',       '',   'primary', 'N', '0', 'admin', sysdate(), '', null, '授权操作');
+insert into sys_dict_data values(22, 5,  '导出',     '5',       'sys_oper_type',       '',   'warning', 'N', '0', 'admin', sysdate(), '', null, '导出操作');
+insert into sys_dict_data values(23, 6,  '导入',     '6',       'sys_oper_type',       '',   'warning', 'N', '0', 'admin', sysdate(), '', null, '导入操作');
+insert into sys_dict_data values(24, 7,  '强退',     '7',       'sys_oper_type',       '',   'danger',  'N', '0', 'admin', sysdate(), '', null, '强退操作');
+insert into sys_dict_data values(25, 8,  '生成代码', '8',       'sys_oper_type',       '',   'warning', 'N', '0', 'admin', sysdate(), '', null, '生成操作');
+insert into sys_dict_data values(26, 9,  '清空数据', '9',       'sys_oper_type',       '',   'danger',  'N', '0', 'admin', sysdate(), '', null, '清空操作');
+insert into sys_dict_data values(27, 1,  '成功',     '0',       'sys_common_status',   '',   'primary', 'N', '0', 'admin', sysdate(), '', null, '正常状态');
+insert into sys_dict_data values(28, 2,  '失败',     '1',       'sys_common_status',   '',   'danger',  'N', '0', 'admin', sysdate(), '', null, '停用状态');
+
+
+-- ----------------------------
+-- 13、参数配置表
+-- ----------------------------
+drop table if exists sys_config;
+create table sys_config (
+  config_id         int(5)          not null auto_increment    comment '参数主键',
+  config_name       varchar(100)    default ''                 comment '参数名称',
+  config_key        varchar(100)    default ''                 comment '参数键名',
+  config_value      varchar(500)    default ''                 comment '参数键值',
+  config_type       char(1)         default 'N'                comment '系统内置(Y是 N否)',
+  create_by         varchar(64)     default ''                 comment '创建者',
+  create_time       datetime                                   comment '创建时间',
+  update_by         varchar(64)     default ''                 comment '更新者',
+  update_time       datetime                                   comment '更新时间',
+  remark            varchar(500)    default null               comment '备注',
+  primary key (config_id)
+) engine=innodb auto_increment=100 comment = '参数配置表';
+
+insert into sys_config values(1, '主框架页-默认皮肤样式名称',     'sys.index.skinName',            'skin-blue',     'Y', 'admin', sysdate(), '', null, '蓝色 skin-blue、绿色 skin-green、紫色 skin-purple、红色 skin-red、黄色 skin-yellow' );
+insert into sys_config values(2, '用户管理-账号初始密码',         'sys.user.initPassword',         '123456',        'Y', 'admin', sysdate(), '', null, '初始化密码 123456' );
+insert into sys_config values(3, '主框架页-侧边栏主题',           'sys.index.sideTheme',           'theme-dark',    'Y', 'admin', sysdate(), '', null, '深色主题theme-dark,浅色主题theme-light' );
+insert into sys_config values(4, '账号自助-验证码开关',           'sys.account.captchaOnOff',      'true',          'Y', 'admin', sysdate(), '', null, '是否开启验证码功能(true开启,false关闭)');
+insert into sys_config values(5, '账号自助-是否开启用户注册功能', 'sys.account.registerUser',      'false',         'Y', 'admin', sysdate(), '', null, '是否开启注册用户功能(true开启,false关闭)');
+
+
+-- ----------------------------
+-- 14、系统访问记录
+-- ----------------------------
+drop table if exists sys_logininfor;
+create table sys_logininfor (
+  info_id        bigint(20)     not null auto_increment   comment '访问ID',
+  user_name      varchar(50)    default ''                comment '用户账号',
+  ipaddr         varchar(128)   default ''                comment '登录IP地址',
+  login_location varchar(255)   default ''                comment '登录地点',
+  browser        varchar(50)    default ''                comment '浏览器类型',
+  os             varchar(50)    default ''                comment '操作系统',
+  status         char(1)        default '0'               comment '登录状态(0成功 1失败)',
+  msg            varchar(255)   default ''                comment '提示消息',
+  login_time     datetime                                 comment '访问时间',
+  primary key (info_id)
+) engine=innodb auto_increment=100 comment = '系统访问记录';
+
+
+-- ----------------------------
+-- 15、定时任务调度表
+-- ----------------------------
+drop table if exists sys_job;
+create table sys_job (
+  job_id              bigint(20)    not null auto_increment    comment '任务ID',
+  job_name            varchar(64)   default ''                 comment '任务名称',
+  job_group           varchar(64)   default 'DEFAULT'          comment '任务组名',
+  invoke_target       varchar(500)  not null                   comment '调用目标字符串',
+  cron_expression     varchar(255)  default ''                 comment 'cron执行表达式',
+  misfire_policy      varchar(20)   default '3'                comment '计划执行错误策略(1立即执行 2执行一次 3放弃执行)',
+  concurrent          char(1)       default '1'                comment '是否并发执行(0允许 1禁止)',
+  status              char(1)       default '0'                comment '状态(0正常 1暂停)',
+  create_by           varchar(64)   default ''                 comment '创建者',
+  create_time         datetime                                 comment '创建时间',
+  update_by           varchar(64)   default ''                 comment '更新者',
+  update_time         datetime                                 comment '更新时间',
+  remark              varchar(500)  default ''                 comment '备注信息',
+  primary key (job_id, job_name, job_group)
+) engine=innodb auto_increment=100 comment = '定时任务调度表';
+
+insert into sys_job values(1, '系统默认(无参)', 'DEFAULT', 'ryTask.ryNoParams',        '0/10 * * * * ?', '3', '1', '1', 'admin', sysdate(), '', null, '');
+insert into sys_job values(2, '系统默认(有参)', 'DEFAULT', 'ryTask.ryParams(\'ry\')',  '0/15 * * * * ?', '3', '1', '1', 'admin', sysdate(), '', null, '');
+insert into sys_job values(3, '系统默认(多参)', 'DEFAULT', 'ryTask.ryMultipleParams(\'ry\', true, 2000L, 316.50D, 100)',  '0/20 * * * * ?', '3', '1', '1', 'admin', sysdate(), '', null, '');
+
+
+-- ----------------------------
+-- 16、定时任务调度日志表
+-- ----------------------------
+drop table if exists sys_job_log;
+create table sys_job_log (
+  job_log_id          bigint(20)     not null auto_increment    comment '任务日志ID',
+  job_name            varchar(64)    not null                   comment '任务名称',
+  job_group           varchar(64)    not null                   comment '任务组名',
+  invoke_target       varchar(500)   not null                   comment '调用目标字符串',
+  job_message         varchar(500)                              comment '日志信息',
+  status              char(1)        default '0'                comment '执行状态(0正常 1失败)',
+  exception_info      varchar(2000)  default ''                 comment '异常信息',
+  create_time         datetime                                  comment '创建时间',
+  primary key (job_log_id)
+) engine=innodb comment = '定时任务调度日志表';
+
+
+-- ----------------------------
+-- 17、通知公告表
+-- ----------------------------
+drop table if exists sys_notice;
+create table sys_notice (
+  notice_id         int(4)          not null auto_increment    comment '公告ID',
+  notice_title      varchar(50)     not null                   comment '公告标题',
+  notice_type       char(1)         not null                   comment '公告类型(1通知 2公告)',
+  notice_content    longblob        default null               comment '公告内容',
+  status            char(1)         default '0'                comment '公告状态(0正常 1关闭)',
+  create_by         varchar(64)     default ''                 comment '创建者',
+  create_time       datetime                                   comment '创建时间',
+  update_by         varchar(64)     default ''                 comment '更新者',
+  update_time       datetime                                   comment '更新时间',
+  remark            varchar(255)    default null               comment '备注',
+  primary key (notice_id)
+) engine=innodb auto_increment=10 comment = '通知公告表';
+
+-- ----------------------------
+-- 初始化-公告信息表数据
+-- ----------------------------
+insert into sys_notice values('1', '温馨提醒:2018-07-01 若依新版本发布啦', '2', '新版本内容', '0', 'admin', sysdate(), '', null, '管理员');
+insert into sys_notice values('2', '维护通知:2018-07-01 若依系统凌晨维护', '1', '维护内容',   '0', 'admin', sysdate(), '', null, '管理员');
+
+
+-- ----------------------------
+-- 18、代码生成业务表
+-- ----------------------------
+drop table if exists gen_table;
+create table gen_table (
+  table_id          bigint(20)      not null auto_increment    comment '编号',
+  table_name        varchar(200)    default ''                 comment '表名称',
+  table_comment     varchar(500)    default ''                 comment '表描述',
+  sub_table_name    varchar(64)     default null               comment '关联子表的表名',
+  sub_table_fk_name varchar(64)     default null               comment '子表关联的外键名',
+  class_name        varchar(100)    default ''                 comment '实体类名称',
+  tpl_category      varchar(200)    default 'crud'             comment '使用的模板(crud单表操作 tree树表操作)',
+  package_name      varchar(100)                               comment '生成包路径',
+  module_name       varchar(30)                                comment '生成模块名',
+  business_name     varchar(30)                                comment '生成业务名',
+  function_name     varchar(50)                                comment '生成功能名',
+  function_author   varchar(50)                                comment '生成功能作者',
+  gen_type          char(1)         default '0'                comment '生成代码方式(0zip压缩包 1自定义路径)',
+  gen_path          varchar(200)    default '/'                comment '生成路径(不填默认项目路径)',
+  options           varchar(1000)                              comment '其它生成选项',
+  create_by         varchar(64)     default ''                 comment '创建者',
+  create_time 	    datetime                                   comment '创建时间',
+  update_by         varchar(64)     default ''                 comment '更新者',
+  update_time       datetime                                   comment '更新时间',
+  remark            varchar(500)    default null               comment '备注',
+  primary key (table_id)
+) engine=innodb auto_increment=1 comment = '代码生成业务表';
+
+
+-- ----------------------------
+-- 19、代码生成业务表字段
+-- ----------------------------
+drop table if exists gen_table_column;
+create table gen_table_column (
+  column_id         bigint(20)      not null auto_increment    comment '编号',
+  table_id          varchar(64)                                comment '归属表编号',
+  column_name       varchar(200)                               comment '列名称',
+  column_comment    varchar(500)                               comment '列描述',
+  column_type       varchar(100)                               comment '列类型',
+  java_type         varchar(500)                               comment 'JAVA类型',
+  java_field        varchar(200)                               comment 'JAVA字段名',
+  is_pk             char(1)                                    comment '是否主键(1是)',
+  is_increment      char(1)                                    comment '是否自增(1是)',
+  is_required       char(1)                                    comment '是否必填(1是)',
+  is_insert         char(1)                                    comment '是否为插入字段(1是)',
+  is_edit           char(1)                                    comment '是否编辑字段(1是)',
+  is_list           char(1)                                    comment '是否列表字段(1是)',
+  is_query          char(1)                                    comment '是否查询字段(1是)',
+  query_type        varchar(200)    default 'EQ'               comment '查询方式(等于、不等于、大于、小于、范围)',
+  html_type         varchar(200)                               comment '显示类型(文本框、文本域、下拉框、复选框、单选框、日期控件)',
+  dict_type         varchar(200)    default ''                 comment '字典类型',
+  sort              int                                        comment '排序',
+  create_by         varchar(64)     default ''                 comment '创建者',
+  create_time 	    datetime                                   comment '创建时间',
+  update_by         varchar(64)     default ''                 comment '更新者',
+  update_time       datetime                                   comment '更新时间',
+  primary key (column_id)
+) engine=innodb auto_increment=1 comment = '代码生成业务表字段';

+ 104 - 0
src

@@ -0,0 +1,104 @@
+package com.zksy.web.controller.basicData.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import annotation.com.zksy.common.Log;
+import controller.core.com.zksy.common.BaseController;
+import domain.core.com.zksy.common.AjaxResult;
+import enums.com.zksy.common.BusinessType;
+import com.zksy.web.controller.basicData.domain.CrmFile;
+import com.zksy.web.controller.basicData.service.ICrmFileService;
+import poi.utils.com.zksy.common.ExcelUtil;
+import page.core.com.zksy.common.TableDataInfo;
+
+/**
+ * 文件管理Controller
+ * 
+ * @author sy
+ * @date 2024-05-10
+ */
+@RestController
+@RequestMapping("/basicData/file")
+public class CrmFileController extends BaseController
+{
+    @Autowired
+    private ICrmFileService crmFileService;
+
+    /**
+     * 查询文件管理列表
+     */
+    @PreAuthorize("@ss.hasPermi('basicData:file:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(CrmFile crmFile)
+    {
+        startPage();
+        List<CrmFile> list = crmFileService.selectCrmFileList(crmFile);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出文件管理列表
+     */
+    @PreAuthorize("@ss.hasPermi('basicData:file:export')")
+    @Log(title = "文件管理", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, CrmFile crmFile)
+    {
+        List<CrmFile> list = crmFileService.selectCrmFileList(crmFile);
+        ExcelUtil<CrmFile> util = new ExcelUtil<CrmFile>(CrmFile.class);
+        util.exportExcel(response, list, "文件管理数据");
+    }
+
+    /**
+     * 获取文件管理详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('basicData:file:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return AjaxResult.success(crmFileService.selectCrmFileById(id));
+    }
+
+    /**
+     * 新增文件管理
+     */
+    @PreAuthorize("@ss.hasPermi('basicData:file:add')")
+    @Log(title = "文件管理", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody CrmFile crmFile)
+    {
+        return toAjax(crmFileService.insertCrmFile(crmFile));
+    }
+
+    /**
+     * 修改文件管理
+     */
+    @PreAuthorize("@ss.hasPermi('basicData:file:edit')")
+    @Log(title = "文件管理", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody CrmFile crmFile)
+    {
+        return toAjax(crmFileService.updateCrmFile(crmFile));
+    }
+
+    /**
+     * 删除文件管理
+     */
+    @PreAuthorize("@ss.hasPermi('basicData:file:remove')")
+    @Log(title = "文件管理", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(crmFileService.deleteCrmFileByIds(ids));
+    }
+}

+ 134 - 0
zksy-admin/pom.xml

@@ -0,0 +1,134 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+         xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         >
+    <parent>
+        <artifactId>zksy</artifactId>
+        <groupId>com.zksy</groupId>
+        <version>1.0.0</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+    <packaging>jar</packaging>
+    <artifactId>zksy-admin</artifactId>
+
+    <description>
+        web服务入口
+    </description>
+
+    <dependencies>
+
+        <!-- spring-boot-devtools -->
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-devtools</artifactId>
+            <optional>true</optional> <!-- 表示依赖不会传递 -->
+        </dependency>
+        <!-- Mysql驱动包 -->
+        <dependency>
+            <groupId>mysql</groupId>
+            <artifactId>mysql-connector-java</artifactId>
+        </dependency>
+
+        <!-- 核心模块-->
+        <dependency>
+            <groupId>com.zksy</groupId>
+            <artifactId>zksy-framework</artifactId>
+        </dependency>
+
+        <!-- 定时任务-->
+        <dependency>
+            <groupId>com.zksy</groupId>
+            <artifactId>zksy-quartz</artifactId>
+        </dependency>
+
+        <!-- 代码生成-->
+        <dependency>
+            <groupId>com.zksy</groupId>
+            <artifactId>zksy-generator</artifactId>
+        </dependency>
+
+        <!-- 代码生成模板 freemarker-->
+        <dependency>
+            <groupId>org.freemarker</groupId>
+            <artifactId>freemarker</artifactId>
+            <version>2.3.28</version>
+            <scope>compile</scope>
+        </dependency>
+        <!-- 代码生成模板 velocity-->
+        <dependency>
+            <groupId>org.apache.velocity</groupId>
+            <artifactId>velocity-engine-core</artifactId>
+            <version>2.3</version>
+        </dependency>
+        <!--        测试-->
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-test</artifactId>
+            <version>2.5.3</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-test</artifactId>
+            <version>5.3.9</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>com.ctg.ag.sdk.biz</groupId>
+            <artifactId>sdkpackage</artifactId>
+            <scope>system</scope>
+            <version>1.0</version>
+            <systemPath>${pom.basedir}/src/main/resources/lib/ag-sdk-biz-274414.tar.gz-20230922.111322-SNAPSHOT.jar</systemPath>
+        </dependency>
+
+        <dependency>
+            <groupId>com.ctg.ag.sdk.core</groupId>
+            <artifactId>sdkcore</artifactId>
+            <scope>system</scope>
+            <version>1.0</version>
+            <systemPath>${pom.basedir}/src/main/resources/lib/ctg-ag-sdk-core-2.8.0-20230508.100604-1.jar</systemPath>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.httpcomponents</groupId>
+            <artifactId>httpasyncclient</artifactId>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+                <version>2.1.1.RELEASE</version>
+                <configuration>
+                    <fork>true</fork> <!-- 如果没有该配置,devtools不会生效 -->
+                    <includeSystemScope>true</includeSystemScope>
+                </configuration>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>repackage</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-war-plugin</artifactId>
+                <version>3.1.0</version>
+                <configuration>
+                    <failOnMissingWebXml>false</failOnMissingWebXml>
+                    <warName>${project.artifactId}</warName>
+                </configuration>
+            </plugin>
+        </plugins>
+        <finalName>${project.artifactId}</finalName>
+    </build>
+
+</project>

+ 94 - 0
zksy-admin/src/main/java/com/zksy/commonFile/controller/ManageCommonController.java

@@ -0,0 +1,94 @@
+package com.zksy.commonFile.controller;
+
+import com.zksy.common.config.zksyConfig;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.StringUtils;
+import com.zksy.common.utils.file.FileUtils;
+import com.zksy.commonFile.service.ManageCommonService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.MediaType;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * @author sy
+ * @date 2022/4/1 16:56
+ */
+@Slf4j
+@RequestMapping("/commonFile")
+@RestController
+@Api(tags = "文件管理通用方法", description = "文件管理通用方法desc")
+public class ManageCommonController {
+
+    @Autowired
+    private ManageCommonService service;
+
+
+    /**
+     * 文件上传(单个)
+     */
+    @PostMapping("/uploadFile")
+    @ApiOperation("文件上传(单个)")
+    public AjaxResult uploadFile(@ApiParam(value = "文件",required = true) @RequestParam(value = "file")MultipartFile multipartFile,
+                                 @ApiParam(value = "父id") @RequestParam(value = "fid",defaultValue = "0") Long fid,
+                                 @ApiParam(value = "模块名称",required = true) @RequestParam(value = "moduleName") String moduleName) {
+        return service.uploadFile(multipartFile,fid,moduleName);
+    }
+
+    /**
+     * 文件上传(返回文件地址)
+     */
+    @PostMapping("/uploadFilePath")
+    @ApiOperation("文件上传(返回文件地址)")
+    public String uploadFilePath(@ApiParam(value = "文件",required = true) @RequestParam(value = "file")MultipartFile multipartFile) {
+        return service.uploadFilePath(multipartFile);
+    }
+
+    /**
+     * 文件上传(多个)
+     */
+    @PostMapping("/uploadFiles")
+    @ApiOperation("文件上传(多个)")
+    public AjaxResult uploadFiles(@ApiParam(value = "文件",required = true) @RequestParam(value = "file") List<MultipartFile> multipartFiles,
+                                  @ApiParam(value = "父id",required = false) @RequestParam(value = "fid",defaultValue = "0") Long fid,
+                                  @ApiParam(value = "模块名称",required = true) @RequestParam(value = "moduleName") String moduleName) {
+        return service.uploadListFile(multipartFiles,fid,moduleName);
+    }
+    /**
+     * 通用下载请求
+     *
+     * @param fileName 文件名称
+     */
+    @GetMapping("/download")
+    @ApiOperation(value = "通用下载请求", notes = "通用下载请求")
+    public void fileDownload(String fileName, HttpServletResponse response) {
+        try {
+            if (!FileUtils.checkAllowDownload(fileName)) {
+                throw new Exception(StringUtils.format("文件名称({})非法,不允许下载。 ", fileName));
+            }
+            String realFileName = System.currentTimeMillis() + fileName.substring(fileName.indexOf("_") + 1);
+            String filePath = zksyConfig.getDownloadPath() + fileName;
+
+            response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
+            FileUtils.setAttachmentResponseHeader(response, realFileName);
+            FileUtils.writeBytes(filePath, response.getOutputStream());
+        } catch (Exception e) {
+            log.error("下载文件失败", e);
+        }
+    }
+    /**
+     * 删除信息
+     */
+    @GetMapping("/deleteFileById")
+    @ApiOperation("根据id删除文件信息")
+    public AjaxResult deleteFileById(@ApiParam(value = "文件id",required = true) @RequestParam(value = "id") String id) {
+        return service.deleteFile(id);
+    }
+}

+ 47 - 0
zksy-admin/src/main/java/com/zksy/commonFile/service/ManageCommonService.java

@@ -0,0 +1,47 @@
+package com.zksy.commonFile.service;
+
+import com.zksy.common.core.domain.AjaxResult;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.List;
+
+/**
+ * @author sy
+ * @date 2022/4/1 16:56
+ */
+public interface ManageCommonService {
+
+    /**
+     * TODO 文件上传(单个)
+     * @param multipartFile
+     * @return com.dhcc.basic.util.Message<java.lang.String>
+     * @author Administrator
+     * @date 2024/1/24 15:44:54
+     */
+    AjaxResult uploadFile(MultipartFile multipartFile, Long fid, String moduleName);
+
+    /**
+     * TODO 文件上传(返回文件地址)
+     * @param multipartFile
+     * @return java.lang.String
+     * @author Administrator
+     * @date 2024/4/23 16:52:32
+     */
+    String uploadFilePath(MultipartFile multipartFile);
+
+    /**
+     * TODO 文件批量上传
+     * @param multipartFiles
+     * @return com.dhcc.basic.util.Message<java.lang.String>
+     * @author Administrator
+     * @date 2024/1/24 15:44:54
+     */
+    AjaxResult uploadListFile(List<MultipartFile> multipartFiles, Long fid, String moduleName);
+
+    /**
+     * 删除文件
+     * @param id
+     * @return
+     */
+    AjaxResult deleteFile(String id);
+}

+ 210 - 0
zksy-admin/src/main/java/com/zksy/commonFile/service/impl/ManageCommonServiceImpl.java

@@ -0,0 +1,210 @@
+package com.zksy.commonFile.service.impl;
+
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.exception.ServiceException;
+import com.zksy.commonFile.service.ManageCommonService;
+import com.zksy.system.basicData.domain.CrmFile;
+import com.zksy.system.basicData.mapper.CrmFileMapper;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.exception.ExceptionUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.UUID;
+
+/**
+ * @author sy
+ * @date 2022/4/1 17:01
+ */
+@Slf4j
+@Service
+public class ManageCommonServiceImpl implements ManageCommonService {
+
+    @Value("${local.fileserver.filetypes}")
+    private String allowFileTypes;
+
+    @Value("${local.fileserver.upload.path}")
+    private String localFileServerUploadDir;
+
+    @Value("${local.fileserver.baseurl}")
+    private String localFileServerBaseUrl;
+
+    @Value("${local.fileserver.mapping.path}")
+    private String localFileServerMappingPath;
+
+    @Autowired
+    private CrmFileMapper mapper;
+
+    @Override
+    public AjaxResult uploadFile(MultipartFile multipartFile, Long fid, String moduleName) {
+        try {
+            // 获取文件名
+            String fileOriginalName = multipartFile.getOriginalFilename();
+            //获取文件大小
+            Long fileSize = multipartFile.getSize();
+            String fileName = UUID.randomUUID().toString() + fileOriginalName.substring(fileOriginalName.lastIndexOf("."), fileOriginalName.length());
+
+            log.info("(加个时间戳,尽量避免文件名称重复)保存的文件名为: " + fileName + "\n");
+            //加个时间戳,尽量避免文件名称重复
+            String path = localFileServerUploadDir + fileName;
+            //文件绝对路径
+            log.info("保存文件绝对路径" + path + "\n");
+            //创建文件路径
+            File dest = new File(path);
+            //判断文件是否已经存在
+            if (dest.exists()) {
+                return AjaxResult.error("文件已存在");
+            }
+            //判断文件父目录是否存在
+            if (!dest.getParentFile().exists()) {
+                dest.getParentFile().mkdir();
+            }
+            //上传文件
+            multipartFile.transferTo(dest); //保存文件
+            log.info("保存文件路径" + path + "\n");
+            //url="http://你自己的域名/项目名/images/"+fileName;//正式项目
+//            String url = localFileServerBaseUrl + serverContextPath + localFileServerMappingPath +"/" + fileName;
+            String url = localFileServerMappingPath + "/" + fileName;
+
+            //log.info("保存的完整url====" + url + "\n");
+            CrmFile uploadRes = new CrmFile();
+            uploadRes.setFid(fid);
+            uploadRes.setFileOriginalName(fileOriginalName);
+            uploadRes.setFileUrl(url);
+            uploadRes.setFileName(fileName);
+            uploadRes.setFileSize(fileSize);
+            uploadRes.setCreateTime(new Date());
+            uploadRes.setCreateBy("管理员");
+            uploadRes.setModuleName(moduleName);
+            mapper.insert(uploadRes);
+            return AjaxResult.success("文件上传成功",uploadRes);
+        } catch (IOException e) {
+            log.error("文件上传异常!");
+            log.error(ExceptionUtils.getStackTrace(e));
+            return AjaxResult.error("文件上传失败");
+        }
+    }
+
+    @Override
+    public String uploadFilePath(MultipartFile multipartFile) {
+        String url = "";
+        try {
+            // 获取文件名
+            String fileOriginalName = multipartFile.getOriginalFilename();
+            //获取文件大小
+            Long fileSize = multipartFile.getSize();
+            String fileName = UUID.randomUUID().toString() + fileOriginalName.substring(fileOriginalName.lastIndexOf("."), fileOriginalName.length());
+
+            log.info("(加个时间戳,尽量避免文件名称重复)保存的文件名为: " + fileName + "\n");
+            //加个时间戳,尽量避免文件名称重复
+            String path = localFileServerUploadDir + fileName;
+            //文件绝对路径
+            log.info("保存文件绝对路径" + path + "\n");
+            //创建文件路径
+            File dest = new File(path);
+            //判断文件是否已经存在
+            if (dest.exists()) {
+                throw new ServiceException("文件已存在");
+            }
+            //判断文件父目录是否存在
+            if (!dest.getParentFile().exists()) {
+                dest.getParentFile().mkdir();
+            }
+            //上传文件
+            multipartFile.transferTo(dest); //保存文件
+            log.info("保存文件路径" + path + "\n");
+            //url="http://你自己的域名/项目名/images/"+fileName;//正式项目
+//            String url = localFileServerBaseUrl + serverContextPath + localFileServerMappingPath +"/" + fileName;
+            url = localFileServerMappingPath + "/" + fileName;
+
+        }catch (IOException e){
+            log.error("文件上传异常!");
+            log.error(ExceptionUtils.getStackTrace(e));
+        }
+        return url;
+    }
+
+    @Override
+    public AjaxResult uploadListFile(List<MultipartFile> multipartFiles, Long fid, String moduleName) {
+        try {
+            List<CrmFile> crmFileList = new ArrayList<>();
+            if (multipartFiles.size() > 0) {
+                for (MultipartFile multipartFile : multipartFiles) {
+                    // 获取文件名
+                    String fileOriginalName = multipartFile.getOriginalFilename();
+                    //获取文件大小
+                    Long fileSize = multipartFile.getSize();
+                    String fileName = UUID.randomUUID().toString() + fileOriginalName.substring(fileOriginalName.lastIndexOf("."), fileOriginalName.length());
+
+                    log.info("(加个时间戳,尽量避免文件名称重复)保存的文件名为: " + fileName + "\n");
+                    //加个时间戳,尽量避免文件名称重复
+                    String path = localFileServerUploadDir + fileName;
+                    //文件绝对路径
+                    log.info("保存文件绝对路径" + path + "\n");
+                    //创建文件路径
+                    File dest = new File(path);
+                    //判断文件是否已经存在
+                    if (dest.exists()) {
+                        return AjaxResult.error("文件已存在");
+                    }
+                    //判断文件父目录是否存在
+                    if (!dest.getParentFile().exists()) {
+                        dest.getParentFile().mkdir();
+                    }
+                    //上传文件
+                    multipartFile.transferTo(dest); //保存文件
+                    log.info("保存文件路径" + path + "\n");
+                    //url="http://你自己的域名/项目名/images/"+fileName;//正式项目
+//            String url = localFileServerBaseUrl + serverContextPath + localFileServerMappingPath +"/" + fileName;
+                    String url = localFileServerMappingPath + "/" + fileName;
+
+                    //log.info("保存的完整url====" + url + "\n");
+                    CrmFile uploadRes = new CrmFile();
+                    uploadRes.setFid(fid);
+                    uploadRes.setFileOriginalName(fileOriginalName);
+                    uploadRes.setFileUrl(url);
+                    uploadRes.setFileName(fileName);
+                    uploadRes.setFileSize(fileSize);
+                    uploadRes.setCreateTime(new Date());
+                    uploadRes.setCreateBy("管理员");
+                    uploadRes.setModuleName(moduleName);
+                    mapper.insert(uploadRes);
+                    crmFileList.add(uploadRes);
+                }
+                return AjaxResult.success("文件上传成功",crmFileList);
+            } else {
+                return AjaxResult.error("无文件上传");
+            }
+        }catch (IOException e) {
+            log.error("文件上传异常!");
+            log.error(ExceptionUtils.getStackTrace(e));
+            return AjaxResult.error("文件上传异常");
+        }
+    }
+
+    @Override
+    public AjaxResult deleteFile(String id) {
+        CrmFile fileUpload = mapper.selectById(id);
+        String filePath = localFileServerUploadDir+fileUpload.getFileName();
+        File file = new File(filePath);
+        if (file.exists()) {
+            boolean isDeleted = file.delete();
+            if (isDeleted) {
+                //删除数据库信息
+                mapper.deleteById(id);
+                return AjaxResult.success("文件已成功删除");
+            } else {
+                return AjaxResult.error("无法删除该文件");
+            }
+        } else {
+            return AjaxResult.error("指定的文件不存在");
+        }
+    }
+}

+ 35 - 0
zksy-admin/src/main/java/com/zksy/task/MyScheduledTask.java

@@ -0,0 +1,35 @@
+package com.zksy.task;
+
+import com.zksy.commonFile.service.ManageCommonService;
+import com.zksy.system.basicData.domain.CrmFile;
+import com.zksy.system.basicData.service.CrmFileService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * @author Administrator
+ * @version 1.0
+ * @project credit-rating
+ * @description
+ * @date 2024/4/1 16:42:28
+ */
+@Component
+public class MyScheduledTask {
+    @Autowired
+    private CrmFileService fileService;
+
+    @Autowired
+    private ManageCommonService service;
+    //每月1号凌晨1点执行
+    @Scheduled(cron = "0 0 1 1 * ?")
+    public void deleteByFidTask(){
+        List<CrmFile> fileList = fileService.selectByFid(0L);
+        for(CrmFile entity : fileList){
+            service.deleteFile(entity.getId().toString());
+        }
+    }
+
+}

+ 26 - 0
zksy-admin/src/main/java/com/zksy/utils/ConditionVo.java

@@ -0,0 +1,26 @@
+package com.zksy.utils;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author zkh
+ * @since 2020-03-16
+ */
+@Data
+public class ConditionVo implements Serializable {
+    private static final long serialVersionUID = -5099378457111419832L;
+    /**
+     * 数据库字段名
+     */
+    private String column;
+    /**
+     * 字段值
+     */
+    private String value;
+    /**
+     * 连接类型,如llike,equals,gt,ge,lt,le
+     */
+    private String type;
+}

+ 25 - 0
zksy-admin/src/main/java/com/zksy/utils/ConvertUtil.java

@@ -0,0 +1,25 @@
+package com.zksy.utils;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 工具类
+ */
+public class ConvertUtil {
+    /**
+     * 字符串转数组
+     * @param str 字符串
+     * @return
+     */
+    public static List stringToChar(String str){
+        List list = new ArrayList<>();
+        for (int i = 0; i < str.length(); i=i+2) {
+            String s = str.substring(i, i+2);
+            list.add(s);
+        }
+        List list1 = (List) list.stream().map(s -> "0x"+s).collect(Collectors.toList());
+        return list1;
+    }
+}

+ 76 - 0
zksy-admin/src/main/java/com/zksy/utils/DowntemplateUtil.java

@@ -0,0 +1,76 @@
+package com.zksy.utils;
+
+
+import org.springframework.core.io.ClassPathResource;
+import org.springframework.http.HttpHeaders;
+import org.springframework.util.FileCopyUtils;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+
+public class DowntemplateUtil {
+
+    private final static String FILE_PATH = "template/";
+    private final static String FILE_SUFFIX = ".xlsx";
+
+    private final static String FILE_WORD = ".doc";
+
+    /**
+     * 给一个请求体对象再给个template下的文件   后缀需要为.xlsx的文件 就能给前端下载了
+     * @param response
+     * @param fileName
+     * @throws IOException
+     */
+    public static void downloadTemplate(HttpServletResponse response,String fileName) throws IOException {
+        ClassPathResource resource = new ClassPathResource(FILE_PATH + fileName + FILE_SUFFIX);
+        if (!resource.exists()) {
+            response.sendError(HttpServletResponse.SC_NOT_FOUND, "没找到这个: " + FILE_PATH + fileName + FILE_SUFFIX + "文件");
+            throw new IOException("没找到这个: " + FILE_PATH + fileName + FILE_SUFFIX + "文件");
+        }
+
+        // 设置响应头以支持文件下载
+        HttpHeaders headers = new HttpHeaders();
+        headers.add(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=" + new String((fileName + FILE_SUFFIX).getBytes("UTF-8"), "ISO-8859-1"));
+        headers.add(HttpHeaders.CONTENT_TYPE, "application/vnd.ms-excel");
+
+        // 从资源读取输入流并写入响应的输出流
+        try (InputStream inputStream = resource.getInputStream();
+             OutputStream outputStream = response.getOutputStream()) {
+
+            response.setHeader(HttpHeaders.CONTENT_LENGTH, String.valueOf(resource.contentLength()));
+
+            FileCopyUtils.copy(inputStream, outputStream);
+            outputStream.flush();
+        }
+    }
+    /**
+     * 给一个请求体对象再给个template下的文件   后缀需要为.xlsx的文件 就能给前端下载了
+     * @param response
+     * @param fileName
+     * @throws IOException
+     */
+    public static void downloadTemplateWord(HttpServletResponse response,String fileName) throws IOException {
+        ClassPathResource resource = new ClassPathResource(FILE_PATH + fileName + FILE_WORD);
+        if (!resource.exists()) {
+            response.sendError(HttpServletResponse.SC_NOT_FOUND, "没找到这个: " + FILE_PATH + fileName + FILE_WORD + "文件");
+            throw new IOException("没找到这个: " + FILE_PATH + fileName + FILE_WORD + "文件");
+        }
+
+        // 设置响应头以支持文件下载
+        HttpHeaders headers = new HttpHeaders();
+        headers.add(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=" + new String((fileName + FILE_WORD).getBytes("UTF-8"), "ISO-8859-1"));
+        headers.add(HttpHeaders.CONTENT_TYPE, "application/vnd.ms-excel");
+
+        // 从资源读取输入流并写入响应的输出流
+        try (InputStream inputStream = resource.getInputStream();
+             OutputStream outputStream = response.getOutputStream()) {
+
+            response.setHeader(HttpHeaders.CONTENT_LENGTH, String.valueOf(resource.contentLength()));
+
+            FileCopyUtils.copy(inputStream, outputStream);
+            outputStream.flush();
+        }
+    }
+}

+ 389 - 0
zksy-admin/src/main/java/com/zksy/utils/EnterpriseExcelUtil.java

@@ -0,0 +1,389 @@
+package com.zksy.utils;
+
+import com.zksy.common.exception.ServiceException;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.ss.usermodel.*;
+import org.apache.poi.ss.util.CellRangeAddress;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.lang.reflect.Field;
+import java.text.DecimalFormat;
+import java.util.*;
+import java.util.regex.Pattern;
+
+
+public class EnterpriseExcelUtil<T> {
+    /**
+     * 读取excel数据
+     * @param file
+     */
+    public static <T> List<Map<String,String>> readExcelToObj(MultipartFile file, int headerColumn, int number, int headerLine, Class<T> classEntity) {
+
+        Workbook wb = null;
+        String fileName = file.getOriginalFilename();//获取文件名
+        List<Map<String,String>> result = null;
+        try {
+            if (!validateExcel(fileName)) {// 验证文件名是否合格
+                return null;
+            }
+            boolean isExcel2003 = true;// 根据文件名判断文件是2003版本还是2007版本
+            if (isExcel2007(fileName)) {
+                isExcel2003 = false;
+            }
+            if (isExcel2003) {// 当excel是2003时,创建excel2003
+                wb = new HSSFWorkbook(file.getInputStream());
+            } else {// 当excel是2007时,创建excel2007
+                wb = new XSSFWorkbook(file.getInputStream());
+            }
+            result = readExcel(wb, 0, 1, 0, headerColumn, number, headerLine,classEntity);
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        return result;
+    }
+    /**
+     * 读取excel文件
+     * @param wb
+     * @param sheetIndex sheet页下标:从0开始
+     * @param startReadLine 开始读取的行:从0开始
+     * @param tailLine 去除最后读取的行
+     */
+    private static <T> List<Map<String,String>> readExcel(Workbook wb, int sheetIndex, int startReadLine, int tailLine, int headerColumn, int number, int headerLine, Class<T> classEntity) {
+        Sheet sheet = wb.getSheetAt(sheetIndex);
+        List<String> stringList = getEntityProp(classEntity);
+        List<Map<String,String>> result = new ArrayList<>();
+        Map<String, CellRangeAddress> mergedRegionsMap = buildMergedRegionsMap(sheet);
+
+        for (int i = startReadLine; i < sheet.getLastRowNum() - tailLine + 1; i++) {
+            Row row = sheet.getRow(i);
+            if (row == null) continue;
+            Map<String,String> map = new HashMap<>();
+
+            for (int j = number; j < headerColumn; j++) {
+                Cell cell = row.getCell(j);
+                if (cell != null) {
+                    String cellValue = getMergedCellValue(sheet, cell, mergedRegionsMap, i, j);
+                    if (i > headerLine) {
+                        if (j == number && !cellValue.equals("序号")) {
+                            map.put(stringList.get(j - 1), cellValue);
+                        } else if (j > number && cellValue != null) {
+                            map.put(stringList.get(j - 1), cellValue);
+                        }
+                    }
+                }
+            }
+
+            if (!map.isEmpty()) {
+                result.add(map);
+            }
+        }
+
+        if (!result.isEmpty() && result.get(0).size() != headerColumn - number) {
+            throw new ServiceException("导入模板不正确");
+        }
+        return result;
+    }
+    private static String getMergedCellValue(Sheet sheet, Cell cell, Map<String, CellRangeAddress> mergedRegionsMap, int row, int column) {
+        String cellValue = "";
+        boolean isMerge = isMergedRegion(mergedRegionsMap, row, column);
+        if (isMerge) {
+            cellValue = getMergedRegionValue(sheet, cell, mergedRegionsMap);
+        } else {
+            cellValue = getCellValue(cell);
+        }
+        return cellValue;
+    }
+
+    // Build a map of merged regions for optimization
+    private static Map<String, CellRangeAddress> buildMergedRegionsMap(Sheet sheet) {
+        Map<String, CellRangeAddress> mergedRegionsMap = new HashMap<>();
+        int sheetMergeCount = sheet.getNumMergedRegions();
+        for (int i = 0; i < sheetMergeCount; i++) {
+            CellRangeAddress range = sheet.getMergedRegion(i);
+            for (int rowIndex = range.getFirstRow(); rowIndex <= range.getLastRow(); rowIndex++) {
+                for (int colIndex = range.getFirstColumn(); colIndex <= range.getLastColumn(); colIndex++) {
+                    String key = rowIndex + "#" + colIndex;
+                    mergedRegionsMap.put(key, range);
+                }
+            }
+        }
+        return mergedRegionsMap;
+    }
+
+    private static boolean isMergedRegion(Map<String, CellRangeAddress> mergedRegionsMap, int row, int column) {
+        String key = row + "#" + column;
+        return mergedRegionsMap.containsKey(key);
+    }
+
+    private static String getMergedRegionValue(Sheet sheet, Cell cell, Map<String, CellRangeAddress> mergedRegionsMap) {
+        String cellValue = "";
+        int rowIndex = cell.getRowIndex();
+        int colIndex = cell.getColumnIndex();
+        String key = rowIndex + "#" + colIndex;
+        CellRangeAddress range = mergedRegionsMap.get(key);
+        if (range != null) {
+            int firstRow = range.getFirstRow();
+            int firstCol = range.getFirstColumn();
+            Row fRow = sheet.getRow(firstRow);
+            if (fRow != null) {
+                Cell fCell = fRow.getCell(firstCol);
+                cellValue = getCellValue(fCell);
+            }
+        }
+        return cellValue;
+    }
+    //错误信息接收器
+    private static String errorMsg;
+    public static boolean validateExcel(String filePath) {
+        if (filePath == null || !(isExcel2003(filePath) || isExcel2007(filePath))) {
+            errorMsg = "文件名不是excel格式";
+            return false;
+        }
+        return true;
+    }
+    // @描述:是否是2003的excel,返回true是2003
+    public static boolean isExcel2003(String filePath)  {
+        return filePath.matches("^.+\\.(?i)(xls)$");
+    }
+    //@描述:是否是2007的excel,返回true是2007
+    public static boolean isExcel2007(String filePath) {
+        return filePath.matches("^.+\\.(?i)(xlsx)$");
+    }
+    public static <T> List<String> getEntityProp(Class<T> clazz) {
+        Field[] fields = clazz.getDeclaredFields();
+        List<String> fieldNames = new ArrayList<>();
+        for (Field field : fields) {
+            fieldNames.add(field.getName());
+        }
+        fieldNames.remove("serialVersionUID");
+        fieldNames.remove("id");
+        return fieldNames;
+    }
+
+    /**
+     * 获取合并单元格的值
+     * @param sheet
+     * @param row
+     * @param column
+     * @return
+     */
+    public static String getMergedRegionValue(Sheet sheet, int row, int column){
+        int sheetMergeCount = sheet.getNumMergedRegions();
+
+        for(int i = 0 ; i < sheetMergeCount ; i++){
+            CellRangeAddress ca = sheet.getMergedRegion(i);
+            int firstColumn = ca.getFirstColumn();
+            int lastColumn = ca.getLastColumn();
+            int firstRow = ca.getFirstRow();
+            int lastRow = ca.getLastRow();
+
+            if(row >= firstRow && row <= lastRow){
+
+                if(column >= firstColumn && column <= lastColumn){
+                    Row fRow = sheet.getRow(firstRow);
+                    Cell fCell = fRow.getCell(firstColumn);
+                    return getCellValue(fCell) ;
+                }
+            }
+        }
+
+        return null ;
+    }
+
+    /**
+     * 判断合并了行
+     * @param sheet
+     * @param row
+     * @param column
+     * @return
+     */
+    private boolean isMergedRow(Sheet sheet,int row ,int column) {
+        int sheetMergeCount = sheet.getNumMergedRegions();
+        for (int i = 0; i < sheetMergeCount; i++) {
+            CellRangeAddress range = sheet.getMergedRegion(i);
+            int firstColumn = range.getFirstColumn();
+            int lastColumn = range.getLastColumn();
+            int firstRow = range.getFirstRow();
+            int lastRow = range.getLastRow();
+            if(row == firstRow && row == lastRow){
+                if(column >= firstColumn && column <= lastColumn){
+                    return true;
+                }
+            }
+        }
+        return false;
+    }
+
+    /**
+     * 判断指定的单元格是否是合并单元格
+     * @param sheet
+     * @param row 行下标
+     * @param column 列下标
+     * @return
+     */
+    private static boolean isMergedRegion(Sheet sheet, int row, int column) {
+        int sheetMergeCount = sheet.getNumMergedRegions();
+        for (int i = 0; i < sheetMergeCount; i++) {
+            CellRangeAddress range = sheet.getMergedRegion(i);
+            int firstColumn = range.getFirstColumn();
+            int lastColumn = range.getLastColumn();
+            int firstRow = range.getFirstRow();
+            int lastRow = range.getLastRow();
+            if(row >= firstRow && row <= lastRow){
+                if(column >= firstColumn && column <= lastColumn){
+                    return true;
+                }
+            }
+        }
+        return false;
+    }
+
+    /**
+     * 判断sheet页中是否含有合并单元格
+     * @param sheet
+     * @return
+     */
+    private boolean hasMerged(Sheet sheet) {
+        return sheet.getNumMergedRegions() > 0 ? true : false;
+    }
+
+    /**
+     * 合并单元格
+     * @param sheet
+     * @param firstRow 开始行
+     * @param lastRow 结束行
+     * @param firstCol 开始列
+     * @param lastCol 结束列
+     */
+    private void mergeRegion(Sheet sheet, int firstRow, int lastRow, int firstCol, int lastCol) {
+        sheet.addMergedRegion(new CellRangeAddress(firstRow, lastRow, firstCol, lastCol));
+    }
+
+    /**
+     * 获取单元格的值
+     * @param cell
+     * @return
+     */
+    public static String getCellValue(Cell cell){
+
+        if(cell == null) {
+            return "";
+        }
+
+        if(cell.getCellType() == CellType.STRING){
+
+            return cell.getStringCellValue();
+
+        }else if(cell.getCellType() == CellType.BOOLEAN){
+
+            return String.valueOf(cell.getBooleanCellValue());
+
+        }else if(cell.getCellType() == CellType.FORMULA){
+
+            return convertToPercentage(cell);
+
+        }else if(cell.getCellType() == CellType.NUMERIC){
+            double numericValue = cell.getNumericCellValue();
+            DecimalFormat df = new DecimalFormat("0"); // 设置格式化模式,保留小数点后的所有位数
+
+            // 判断是否为科学计数法
+            if(String.valueOf(numericValue).contains("E")) {
+                DataFormatter dataFormatter = new DataFormatter();
+                String formattedValue = dataFormatter.formatCellValue(cell); // 使用 DataFormatter 获取格式化后的值
+                return formattedValue;
+            }/*else if(String.valueOf(numericValue).contains("-")){
+                //时间格式
+                DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("d-LLL-yyyy", Locale.CHINESE);
+                LocalDate date = LocalDate.parse(cell.toString(), inputFormatter);
+                return date.toString();
+            } */else {
+                String formattedValue = df.format(numericValue); // 格式化数值为完整形式
+                return formattedValue;
+            }
+           /* String s = cell.getNumericCellValue() + "";
+            // 去掉尾巴上的小数点0
+            if (Pattern.matches(".*\\.0*", s)) {
+                return s.split("\\.")[0];
+            } else {
+                return s;
+            }*/
+        }
+        return "";
+    }
+    public static String convertToPercentage(Cell cell) {
+        try {
+            if (cell.getCellType() == CellType.FORMULA) {
+                String s = cell.getNumericCellValue() + "";
+                // 去掉尾巴上的小数点0
+                if (Pattern.matches(".*\\.0*", s)) {
+                    return s.split("\\.")[0];
+                } else if(s.contains("E")){
+                    DecimalFormat decimalFormat = new DecimalFormat("0");
+                    String decimalNumber = decimalFormat.format(Double.parseDouble(s));
+                    return decimalNumber;
+                }else{
+                    return s;
+                }
+                /*double value = cell.getNumericCellValue();
+                return String.format("%.2f%%", value * 100); // 保留两位小数*/
+            }
+        }catch (Exception e){
+            //return "0%"; // 如果不是数字类型,返回"NaN%"
+        }
+        return null;
+    }
+    /**
+     * 从excel读取内容
+     */
+    public static void readContent(String fileName)  {
+        boolean isE2007 = false;    //判断是否是excel2007格式
+        if(fileName.endsWith("xlsx")) {
+            isE2007 = true;
+        }
+        try {
+            InputStream input = new FileInputStream(fileName);  //建立输入流
+            Workbook wb  = null;
+            //根据文件格式(2003或者2007)来初始化
+            if(isE2007) {
+                wb = new XSSFWorkbook(input);
+            } else {
+                wb = new HSSFWorkbook(input);
+            }
+            Sheet sheet = wb.getSheetAt(0);     //获得第一个表单
+            Iterator<Row> rows = sheet.rowIterator(); //获得第一个表单的迭代器
+            while (rows.hasNext()) {
+                Row row = rows.next();  //获得行数据
+                System.out.println("Row #" + row.getRowNum());  //获得行号从0开始
+                Iterator<Cell> cells = row.cellIterator();    //获得第一行的迭代器
+                while (cells.hasNext()) {
+                    Cell cell = cells.next();
+                    System.out.println("Cell #" + cell.getColumnIndex());
+                    switch (cell.getCellType()) {   //根据cell中的类型来输出数据
+                        case NUMERIC:
+                            System.out.println(cell.getNumericCellValue());
+                            break;
+                        case STRING:
+                            System.out.println(cell.getStringCellValue());
+                            break;
+                        case BOOLEAN:
+                            System.out.println(cell.getBooleanCellValue());
+                            break;
+                        case FORMULA:
+                            System.out.println(cell.getCellFormula());
+                            break;
+                        default:
+                            System.out.println("unsuported sell type======="+cell.getCellType());
+                            break;
+                    }
+                }
+            }
+        } catch (IOException ex) {
+            ex.printStackTrace();
+        }
+    }
+
+}

+ 354 - 0
zksy-admin/src/main/java/com/zksy/utils/MergeReadsExcelUtil.java

@@ -0,0 +1,354 @@
+package com.zksy.utils;
+
+import com.zksy.common.exception.ServiceException;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.ss.usermodel.*;
+import org.apache.poi.ss.util.CellRangeAddress;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.lang.reflect.Field;
+import java.text.DecimalFormat;
+import java.util.*;
+import java.util.regex.Pattern;
+
+
+public class MergeReadsExcelUtil<T> {
+    /**
+     * 读取excel数据
+     * @param file
+     */
+    public static <T> List<Map<String,String>> readExcelToObj(MultipartFile file, int headerColumn, int number, int headerLine, Class<T> classEntity) {
+
+        Workbook wb = null;
+        String fileName = file.getOriginalFilename();//获取文件名
+        List<Map<String,String>> result = null;
+        try {
+            if (!validateExcel(fileName)) {// 验证文件名是否合格
+                return null;
+            }
+            boolean isExcel2003 = true;// 根据文件名判断文件是2003版本还是2007版本
+            if (isExcel2007(fileName)) {
+                isExcel2003 = false;
+            }
+            if (isExcel2003) {// 当excel是2003时,创建excel2003
+                wb = new HSSFWorkbook(file.getInputStream());
+            } else {// 当excel是2007时,创建excel2007
+                wb = new XSSFWorkbook(file.getInputStream());
+            }
+            result = readExcel(wb, 0, 1, 0, headerColumn, number, headerLine,classEntity);
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        return result;
+    }
+    /**
+     * 读取excel文件
+     * @param wb
+     * @param sheetIndex sheet页下标:从0开始
+     * @param startReadLine 开始读取的行:从0开始
+     * @param tailLine 去除最后读取的行
+     */
+    private static <T> List<Map<String,String>> readExcel(Workbook wb, int sheetIndex, int startReadLine, int tailLine,int headerColumn,int number,int headerLine,Class<T> classEntity) {
+        Sheet sheet = wb.getSheetAt(sheetIndex);
+        Row row = null;
+        List<Map<String,String>> result = new ArrayList<Map<String,String>>();
+        List<String> stringList = getEntityProp(classEntity);
+        List<String> serialNumberColumn = new ArrayList<>();
+        /*if(sheet.getRow(sheet.getFirstRowNum()).getLastCellNum() != headerColumn){
+            throw new ServiceException("导入模板不正确");
+        }*/
+        for(int i=startReadLine; i<sheet.getLastRowNum()-tailLine+1; i++) {
+
+            row = sheet.getRow(i);
+            Map<String,String> map = new HashMap<String,String>();
+            for(Cell c : row) {
+                String returnStr = "";
+
+                boolean isMerge = isMergedRegion(sheet, i, c.getColumnIndex());
+                //判断是否具有合并单元格
+                if(isMerge) {
+                    String rs = getMergedRegionValue(sheet, row.getRowNum(), c.getColumnIndex());
+                    returnStr = rs;
+                }else {
+                    //设置单元格类型
+                    returnStr = getCellValue(c);
+                }
+                //将值存进list
+                serialNumberColumn.add(returnStr);
+                if(serialNumberColumn.contains("序号")){
+                    //去掉第一列数据
+                    if(c.getColumnIndex() <= headerColumn && c.getColumnIndex() >= number && i > headerLine) {
+                        map.put(stringList.get(c.getColumnIndex() - 1), returnStr);
+                    }
+                }else{
+                    //不去第一列数据
+                    if(c.getColumnIndex() < headerColumn && i > headerLine) {
+                        map.put(stringList.get(c.getColumnIndex()), returnStr);
+                    }
+                }
+            }
+            if(map.size() > 0) {
+                result.add(map);
+            }
+        }
+        if(result.size() > 0 && result.get(0).size() != headerColumn){
+            throw new ServiceException("导入模板不正确");
+        }
+        return result;
+
+    }
+    //错误信息接收器
+    private static String errorMsg;
+    public static boolean validateExcel(String filePath) {
+        if (filePath == null || !(isExcel2003(filePath) || isExcel2007(filePath))) {
+            errorMsg = "文件名不是excel格式";
+            return false;
+        }
+        return true;
+    }
+    // @描述:是否是2003的excel,返回true是2003
+    public static boolean isExcel2003(String filePath)  {
+        return filePath.matches("^.+\\.(?i)(xls)$");
+    }
+    //@描述:是否是2007的excel,返回true是2007
+    public static boolean isExcel2007(String filePath) {
+        return filePath.matches("^.+\\.(?i)(xlsx)$");
+    }
+    public static <T> List<String> getEntityProp(Class<T> clazz) {
+        Field[] fields = clazz.getDeclaredFields();
+        List<String> fieldNames = new ArrayList<>();
+        for (Field field : fields) {
+            fieldNames.add(field.getName());
+        }
+        fieldNames.remove("serialVersionUID");
+        fieldNames.remove("id");
+        return fieldNames;
+    }
+
+    /**
+     * 获取合并单元格的值
+     * @param sheet
+     * @param row
+     * @param column
+     * @return
+     */
+    public static String getMergedRegionValue(Sheet sheet, int row, int column){
+        int sheetMergeCount = sheet.getNumMergedRegions();
+
+        for(int i = 0 ; i < sheetMergeCount ; i++){
+            CellRangeAddress ca = sheet.getMergedRegion(i);
+            int firstColumn = ca.getFirstColumn();
+            int lastColumn = ca.getLastColumn();
+            int firstRow = ca.getFirstRow();
+            int lastRow = ca.getLastRow();
+
+            if(row >= firstRow && row <= lastRow){
+
+                if(column >= firstColumn && column <= lastColumn){
+                    Row fRow = sheet.getRow(firstRow);
+                    Cell fCell = fRow.getCell(firstColumn);
+                    return getCellValue(fCell) ;
+                }
+            }
+        }
+
+        return null ;
+    }
+
+    /**
+     * 判断合并了行
+     * @param sheet
+     * @param row
+     * @param column
+     * @return
+     */
+    private boolean isMergedRow(Sheet sheet,int row ,int column) {
+        int sheetMergeCount = sheet.getNumMergedRegions();
+        for (int i = 0; i < sheetMergeCount; i++) {
+            CellRangeAddress range = sheet.getMergedRegion(i);
+            int firstColumn = range.getFirstColumn();
+            int lastColumn = range.getLastColumn();
+            int firstRow = range.getFirstRow();
+            int lastRow = range.getLastRow();
+            if(row == firstRow && row == lastRow){
+                if(column >= firstColumn && column <= lastColumn){
+                    return true;
+                }
+            }
+        }
+        return false;
+    }
+
+    /**
+     * 判断指定的单元格是否是合并单元格
+     * @param sheet
+     * @param row 行下标
+     * @param column 列下标
+     * @return
+     */
+    private static boolean isMergedRegion(Sheet sheet, int row, int column) {
+        int sheetMergeCount = sheet.getNumMergedRegions();
+        for (int i = 0; i < sheetMergeCount; i++) {
+            CellRangeAddress range = sheet.getMergedRegion(i);
+            int firstColumn = range.getFirstColumn();
+            int lastColumn = range.getLastColumn();
+            int firstRow = range.getFirstRow();
+            int lastRow = range.getLastRow();
+            if(row >= firstRow && row <= lastRow){
+                if(column >= firstColumn && column <= lastColumn){
+                    return true;
+                }
+            }
+        }
+        return false;
+    }
+
+    /**
+     * 判断sheet页中是否含有合并单元格
+     * @param sheet
+     * @return
+     */
+    private boolean hasMerged(Sheet sheet) {
+        return sheet.getNumMergedRegions() > 0 ? true : false;
+    }
+
+    /**
+     * 合并单元格
+     * @param sheet
+     * @param firstRow 开始行
+     * @param lastRow 结束行
+     * @param firstCol 开始列
+     * @param lastCol 结束列
+     */
+    private void mergeRegion(Sheet sheet, int firstRow, int lastRow, int firstCol, int lastCol) {
+        sheet.addMergedRegion(new CellRangeAddress(firstRow, lastRow, firstCol, lastCol));
+    }
+
+    /**
+     * 获取单元格的值
+     * @param cell
+     * @return
+     */
+    public static String getCellValue(Cell cell){
+
+        if(cell == null) {
+            return "";
+        }
+
+        if(cell.getCellType() == CellType.STRING){
+
+            return cell.getStringCellValue();
+
+        }else if(cell.getCellType() == CellType.BOOLEAN){
+
+            return String.valueOf(cell.getBooleanCellValue());
+
+        }else if(cell.getCellType() == CellType.FORMULA){
+
+            return convertToPercentage(cell);
+
+        }else if(cell.getCellType() == CellType.NUMERIC){
+            double numericValue = cell.getNumericCellValue();
+            DecimalFormat df = new DecimalFormat("0"); // 设置格式化模式,保留小数点后的所有位数
+
+            // 判断是否为科学计数法
+            if(String.valueOf(numericValue).contains("E")) {
+                DataFormatter dataFormatter = new DataFormatter();
+                String formattedValue = dataFormatter.formatCellValue(cell); // 使用 DataFormatter 获取格式化后的值
+                return formattedValue;
+            }/*else if(String.valueOf(numericValue).contains("-")){
+                //时间格式
+                DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("d-LLL-yyyy", Locale.CHINESE);
+                LocalDate date = LocalDate.parse(cell.toString(), inputFormatter);
+                return date.toString();
+            } */else {
+                String formattedValue = df.format(numericValue); // 格式化数值为完整形式
+                return formattedValue;
+            }
+           /* String s = cell.getNumericCellValue() + "";
+            // 去掉尾巴上的小数点0
+            if (Pattern.matches(".*\\.0*", s)) {
+                return s.split("\\.")[0];
+            } else {
+                return s;
+            }*/
+        }
+        return "";
+    }
+    public static String convertToPercentage(Cell cell) {
+        try {
+            if (cell.getCellType() == CellType.FORMULA) {
+                    String s = cell.getNumericCellValue() + "";
+                    // 去掉尾巴上的小数点0
+                    if (Pattern.matches(".*\\.0*", s)) {
+                        return s.split("\\.")[0];
+                    } else if(s.contains("E")){
+                        DecimalFormat decimalFormat = new DecimalFormat("0");
+                        String decimalNumber = decimalFormat.format(Double.parseDouble(s));
+                        return decimalNumber;
+                    }else{
+                        return s;
+                    }
+                /*double value = cell.getNumericCellValue();
+                return String.format("%.2f%%", value * 100); // 保留两位小数*/
+            }
+        }catch (Exception e){
+            //return "0%"; // 如果不是数字类型,返回"NaN%"
+        }
+        return null;
+    }
+    /**
+     * 从excel读取内容
+     */
+    public static void readContent(String fileName)  {
+        boolean isE2007 = false;    //判断是否是excel2007格式
+        if(fileName.endsWith("xlsx")) {
+            isE2007 = true;
+        }
+        try {
+            InputStream input = new FileInputStream(fileName);  //建立输入流
+            Workbook wb  = null;
+            //根据文件格式(2003或者2007)来初始化
+            if(isE2007) {
+                wb = new XSSFWorkbook(input);
+            } else {
+                wb = new HSSFWorkbook(input);
+            }
+            Sheet sheet = wb.getSheetAt(0);     //获得第一个表单
+            Iterator<Row> rows = sheet.rowIterator(); //获得第一个表单的迭代器
+            while (rows.hasNext()) {
+                Row row = rows.next();  //获得行数据
+                System.out.println("Row #" + row.getRowNum());  //获得行号从0开始
+                Iterator<Cell> cells = row.cellIterator();    //获得第一行的迭代器
+                while (cells.hasNext()) {
+                    Cell cell = cells.next();
+                    System.out.println("Cell #" + cell.getColumnIndex());
+                    switch (cell.getCellType()) {   //根据cell中的类型来输出数据
+                        case NUMERIC:
+                            System.out.println(cell.getNumericCellValue());
+                            break;
+                        case STRING:
+                            System.out.println(cell.getStringCellValue());
+                            break;
+                        case BOOLEAN:
+                            System.out.println(cell.getBooleanCellValue());
+                            break;
+                        case FORMULA:
+                            System.out.println(cell.getCellFormula());
+                            break;
+                        default:
+                            System.out.println("unsuported sell type======="+cell.getCellType());
+                            break;
+                    }
+                }
+            }
+        } catch (IOException ex) {
+            ex.printStackTrace();
+        }
+    }
+
+}

+ 56 - 0
zksy-admin/src/main/java/com/zksy/utils/SearchUtil.java

@@ -0,0 +1,56 @@
+package com.zksy.utils;
+
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+
+import java.net.URLDecoder;
+import java.util.List;
+/**
+ * @author zkh
+ * @since 2020-03-16
+ */
+public class SearchUtil {
+    public static QueryWrapper parseWhereSql(String conditionJson) throws Exception{
+        QueryWrapper<?> queryWrapper = new QueryWrapper();
+        String[] empty = {"none"};
+        if(StringUtils.isNotBlank(conditionJson)){
+            conditionJson = URLDecoder.decode(conditionJson, "UTF-8");
+            List<ConditionVo> conditionList = JSON.parseArray(conditionJson,ConditionVo.class);
+            if(conditionList.size()>0){
+                for(ConditionVo conditionVo : conditionList){
+                    switch (conditionVo.getType()){
+                        case "eq": queryWrapper.eq(conditionVo.getColumn(),conditionVo.getValue());break;
+                        case "ne": queryWrapper.ne(conditionVo.getColumn(),conditionVo.getValue());break;
+                        case "between": queryWrapper.between(conditionVo.getColumn(), conditionVo.getValue() == null ? empty : conditionVo.getValue().split(",")[0],conditionVo.getValue().split(",")[1]);break;
+                        case "like": queryWrapper.like(conditionVo.getColumn(),conditionVo.getValue());break;
+                        case "leftLike": queryWrapper.likeLeft(conditionVo.getColumn(),conditionVo.getValue());break;
+                        case "rightLike": queryWrapper.likeRight(conditionVo.getColumn(),conditionVo.getValue());break;
+                        case "notLike": queryWrapper.notLike(conditionVo.getColumn(),conditionVo.getValue());break;
+                        case "exists": queryWrapper.exists(conditionVo.getValue());break;
+                        case "notExists": queryWrapper.notExists(conditionVo.getValue());break;
+                        case "gt": queryWrapper.gt(conditionVo.getColumn(),conditionVo.getValue());break;
+                        case "lt": queryWrapper.lt(conditionVo.getColumn(),conditionVo.getValue());break;
+                        case "ge": queryWrapper.ge(conditionVo.getColumn(),conditionVo.getValue());break;
+                        case "le": queryWrapper.le(conditionVo.getColumn(),conditionVo.getValue());break;
+                        case "or": queryWrapper.or();break;
+                        case "orLike2":
+                            String[] columns = conditionVo.getColumn().split(",");
+                            queryWrapper.and(wrapper ->
+                                    wrapper.and(swrapper -> swrapper.like(columns[0], conditionVo.getValue()).or().like(columns[1], conditionVo.getValue())));
+                            break;
+                        case "in": queryWrapper.in(conditionVo.getColumn(), conditionVo.getValue() == null ? empty : conditionVo.getValue().split(","));break;
+                        case "notIn": queryWrapper.notIn(conditionVo.getColumn(), conditionVo.getValue() == null ? empty : conditionVo.getValue().split(","));break;
+                        case "isNull": queryWrapper.isNull(conditionVo.getColumn());break;
+                        case "isNotNull": queryWrapper.isNotNull(conditionVo.getColumn());break;
+                        case "orderByAsc": queryWrapper.orderByAsc(conditionVo.getColumn());break;
+                        case "orderByDesc": queryWrapper.orderByDesc(conditionVo.getColumn());break;
+                        default:
+                    }
+                }
+            }
+        }
+        return queryWrapper;
+    }
+
+}

+ 137 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmAbnormalBusinessListController.java

@@ -0,0 +1,137 @@
+package com.zksy.web.controller.basicData;
+
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.enums.BusinessType;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmAbnormalBusinessList;
+import com.zksy.system.basicData.service.CrmAbnormalBusinessListService;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 经营异常名录Controller
+ *
+ * @author sy
+ * @date 2024-05-08
+ */
+@RestController
+@RequestMapping("/crmAbnormalBusinessList")
+@Api(tags = "经营异常名录", description = "经营异常名录desc")
+public class CrmAbnormalBusinessListController extends BaseController {
+
+    @Autowired
+    private CrmAbnormalBusinessListService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "经营异常名录搜索getById")
+    public AjaxResult getById(@PathVariable String borrowId) {
+        return AjaxResult.success(service.getById(borrowId));
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "经营异常名录分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "经营异常名录查询所有")
+    public AjaxResult getList(String conditionJson) throws Exception {
+        return AjaxResult.success(service.list(SearchUtil.parseWhereSql(conditionJson)));
+    }
+
+    /**
+     * 新增经营异常名录
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "经营异常名录新增")
+    @Log(title = "新增经营异常名录", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmAbnormalBusinessList crmAbnormalBusinessList) {
+        return service.save(crmAbnormalBusinessList);
+    }
+
+    /**
+     * 修改经营异常名录
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "经营异常名录修改")
+    @Log(title = "修改经营异常名录", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmAbnormalBusinessList crmAbnormalBusinessList) {
+        return service.updateById(crmAbnormalBusinessList);
+    }
+
+    /**
+     * 导入经营异常名录
+     */
+    @ApiOperation("经营异常名录导入")
+    @Log(title = "经营异常名录", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmAbnormalBusinessList> crmAbnormalBusinessListAll = service.list();
+            List<CrmAbnormalBusinessList> list = ExcelUtils.readMultipartFile(file, CrmAbnormalBusinessList.class,CrmAbnormalBusinessList.class.getDeclaredFields().length - 2);
+            if(crmAbnormalBusinessListAll != null && crmAbnormalBusinessListAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("经营异常名录导出")
+    @Log(title = "经营异常名录", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmAbnormalBusinessList> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"经营异常名录",wrapperList,CrmAbnormalBusinessList.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "经营异常名录", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除经营异常名录", notes = "删除经营异常名录")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+    
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"经营异常名录模板");
+    }
+}
+

+ 136 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmAbnormalTaxInformationController.java

@@ -0,0 +1,136 @@
+package com.zksy.web.controller.basicData;
+
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmAbnormalTaxInformation;
+import com.zksy.system.basicData.service.CrmAbnormalTaxInformationService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 非正常纳税信息Controller
+ *
+ * @author sy
+ * @date 2024-05-08
+ */
+@RestController
+@RequestMapping("/crmAbnormalTaxInformation")
+@Api(tags = "非正常纳税信息", description = "非正常纳税信息desc")
+public class CrmAbnormalTaxInformationController extends BaseController {
+
+    @Autowired
+    private CrmAbnormalTaxInformationService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "非正常纳税信息搜索getById")
+    public AjaxResult getById(@PathVariable String borrowId) {
+        return AjaxResult.success(service.getById(borrowId));
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "非正常纳税信息分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "非正常纳税信息查询所有")
+    public AjaxResult getList(String conditionJson) throws Exception {
+        return AjaxResult.success(service.list(SearchUtil.parseWhereSql(conditionJson)));
+    }
+
+    /**
+     * 新增非正常纳税信息
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "非正常纳税信息新增")
+    @Log(title = "新增非正常纳税信息", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmAbnormalTaxInformation crmAbnormalTaxInformation) {
+        return service.save(crmAbnormalTaxInformation);
+    }
+
+    /**
+     * 修改非正常纳税信息
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "非正常纳税信息修改")
+    @Log(title = "修改非正常纳税信息", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmAbnormalTaxInformation crmAbnormalTaxInformation) {
+        return service.updateById(crmAbnormalTaxInformation);
+    }
+
+    /**
+     * 导入非正常纳税信息
+     */
+    @ApiOperation("非正常纳税信息导入")
+    @Log(title = "非正常纳税信息", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmAbnormalTaxInformation> crmAbnormalTaxInformationAll = service.list();
+            List<CrmAbnormalTaxInformation> list = ExcelUtils.readMultipartFile(file, CrmAbnormalTaxInformation.class,CrmAbnormalTaxInformation.class.getDeclaredFields().length - 2);
+            if(crmAbnormalTaxInformationAll != null && crmAbnormalTaxInformationAll.size() > 0) {
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("非正常纳税信息导出")
+    @Log(title = "非正常纳税信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmAbnormalTaxInformation> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"非正常纳税信息",wrapperList,CrmAbnormalTaxInformation.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "非正常纳税信息", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除非正常纳税信息", notes = "删除非正常纳税信息")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"非正常纳税信息模板");
+    }
+}
+

+ 137 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmAccumulationFundSummaryController.java

@@ -0,0 +1,137 @@
+package com.zksy.web.controller.basicData;
+
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmAccumulationFundSummary;
+import com.zksy.system.basicData.service.CrmAccumulationFundSummaryService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 公积金信息汇总Controller
+ *
+ * @author sy
+ * @date 2024-05-08
+ */
+@RestController
+@RequestMapping("/crmAccumulationFundSummary")
+@Api(tags = "公积金信息汇总", description = "公积金信息汇总desc")
+public class CrmAccumulationFundSummaryController extends BaseController {
+
+    @Autowired
+    private CrmAccumulationFundSummaryService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "公积金信息汇总搜索getById")
+    public AjaxResult getById(@PathVariable String borrowId) {
+        return AjaxResult.success(service.getById(borrowId));
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "公积金信息汇总分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "公积金信息汇总查询所有")
+    public AjaxResult getList(String conditionJson) throws Exception {
+        return AjaxResult.success(service.list(SearchUtil.parseWhereSql(conditionJson)));
+    }
+
+    /**
+     * 新增公积金信息汇总
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "公积金信息汇总新增")
+    @Log(title = "新增公积金信息汇总", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmAccumulationFundSummary crmAccumulationFundSummary) {
+        return service.save(crmAccumulationFundSummary);
+    }
+
+    /**
+     * 修改公积金信息汇总
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "公积金信息汇总修改")
+    @Log(title = "修改公积金信息汇总", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmAccumulationFundSummary crmAccumulationFundSummary) {
+        return service.updateById(crmAccumulationFundSummary);
+    }
+
+    /**
+     * 导入公积金信息汇总
+     */
+    @ApiOperation("公积金信息汇总导入")
+    @Log(title = "公积金信息汇总", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmAccumulationFundSummary> crmAccumulationFundSummaryAll = service.list();
+            List<CrmAccumulationFundSummary> list = ExcelUtils.readMultipartFile(file, CrmAccumulationFundSummary.class,CrmAccumulationFundSummary.class.getDeclaredFields().length - 2);
+            if(crmAccumulationFundSummaryAll != null && crmAccumulationFundSummaryAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("公积金信息汇总导出")
+    @Log(title = "公积金信息汇总", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmAccumulationFundSummary> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"公积金信息汇总",wrapperList,CrmAccumulationFundSummary.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "公积金信息汇总", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除公积金信息汇总", notes = "删除公积金信息汇总")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"公积金信息汇总模板");
+    }
+}
+

+ 137 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmAdministrativeCompulsionInformationController.java

@@ -0,0 +1,137 @@
+package com.zksy.web.controller.basicData;
+
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmAdministrativeCompulsionInformation;
+import com.zksy.system.basicData.service.CrmAdministrativeCompulsionInformationService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 行政强制信息填报模板Controller
+ *
+ * @author sy
+ * @date 2024-05-08
+ */
+@RestController
+@RequestMapping("/crmAdministrativeCompulsionInformation")
+@Api(tags = "行政强制信息填报模板", description = "行政强制信息填报模板desc")
+public class CrmAdministrativeCompulsionInformationController extends BaseController {
+
+    @Autowired
+    private CrmAdministrativeCompulsionInformationService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "行政强制信息填报模板搜索getById")
+    public AjaxResult getById(@PathVariable String borrowId) {
+        return AjaxResult.success(service.getById(borrowId));
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "行政强制信息填报模板分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "行政强制信息填报模板查询所有")
+    public AjaxResult getList(String conditionJson) throws Exception {
+        return AjaxResult.success(service.list(SearchUtil.parseWhereSql(conditionJson)));
+    }
+
+    /**
+     * 新增行政强制信息填报模板
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "行政强制信息填报模板新增")
+    @Log(title = "新增行政强制信息填报模板", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmAdministrativeCompulsionInformation crmAdministrativeCompulsionInformation) {
+        return service.save(crmAdministrativeCompulsionInformation);
+    }
+
+    /**
+     * 修改行政强制信息填报模板
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "行政强制信息填报模板修改")
+    @Log(title = "修改行政强制信息填报模板", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmAdministrativeCompulsionInformation crmAdministrativeCompulsionInformation) {
+        return service.updateById(crmAdministrativeCompulsionInformation);
+    }
+
+    /**
+     * 导入行政强制信息填报模板
+     */
+    @ApiOperation("行政强制信息填报模板导入")
+    @Log(title = "行政强制信息填报模板", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmAdministrativeCompulsionInformation> crmAdministrativeCompulsionInformationAll = service.list();
+            List<CrmAdministrativeCompulsionInformation> list = ExcelUtils.readMultipartFile(file, CrmAdministrativeCompulsionInformation.class,CrmAdministrativeCompulsionInformation.class.getDeclaredFields().length - 2);
+            if(crmAdministrativeCompulsionInformationAll != null && crmAdministrativeCompulsionInformationAll.size() > 0) {
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("行政强制信息填报模板导出")
+    @Log(title = "行政强制信息填报模板", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmAdministrativeCompulsionInformation> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"行政强制信息填报模板",wrapperList,CrmAdministrativeCompulsionInformation.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "行政强制信息填报模板", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除行政强制信息填报模板", notes = "删除行政强制信息填报模板")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"行政强制信息模板");
+    }
+}
+

+ 142 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmAdministrativeConfirmationController.java

@@ -0,0 +1,142 @@
+package com.zksy.web.controller.basicData;
+
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmAdministrativeConfirmation;
+import com.zksy.system.basicData.service.CrmAdministrativeConfirmationService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpRequest;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.time.Instant;
+import java.time.LocalDateTime;
+import java.time.ZoneOffset;
+import java.util.Base64;
+import java.util.List;
+
+/**
+ * 行政确认Controller
+ *
+ * @author sy
+ * @date 2024-04-08
+ */
+@RestController
+@RequestMapping("/crmAdministrativeConfirmation")
+@Api(tags = "行政确认", description = "行政确认desc")
+public class CrmAdministrativeConfirmationController extends BaseController {
+
+    @Autowired
+    private CrmAdministrativeConfirmationService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "行政确认搜索getById")
+    public AjaxResult getById(@PathVariable String borrowId) {
+        return AjaxResult.success(service.getById(borrowId));
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "行政确认分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "行政确认查询所有")
+    public AjaxResult getList(String conditionJson) throws Exception {
+        return AjaxResult.success(service.list(SearchUtil.parseWhereSql(conditionJson)));
+    }
+
+    /**
+     * 新增行政确认
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "行政确认新增")
+    @Log(title = "新增行政确认", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmAdministrativeConfirmation crmAdministrativeConfirmation) {
+        return service.save(crmAdministrativeConfirmation);
+    }
+
+    /**
+     * 修改行政确认
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "行政确认修改")
+    @Log(title = "修改行政确认", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmAdministrativeConfirmation crmAdministrativeConfirmation) {
+        return service.updateById(crmAdministrativeConfirmation);
+    }
+
+    /**
+     * 导入行政确认
+     */
+    @ApiOperation("行政确认导入")
+    @Log(title = "行政确认", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmAdministrativeConfirmation> crmAdministrativeConfirmationAll = service.list();
+            List<CrmAdministrativeConfirmation> list = ExcelUtils.readMultipartFile(file, CrmAdministrativeConfirmation.class,CrmAdministrativeConfirmation.class.getDeclaredFields().length -2);
+            if(crmAdministrativeConfirmationAll != null && crmAdministrativeConfirmationAll.size() > 0) {
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("行政确认导出")
+    @Log(title = "行政确认", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmAdministrativeConfirmation> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"行政确认",wrapperList,CrmAdministrativeConfirmation.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "行政确认", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除行政确认", notes = "删除行政确认")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"行政确认数据模板");
+    }
+}
+

+ 119 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmAdministrativeLicenseController.java

@@ -0,0 +1,119 @@
+package com.zksy.web.controller.basicData;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.enums.BusinessType;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmAdministrativeLicense;
+import com.zksy.system.basicData.service.CrmAdministrativeLicenseService;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.poi.ss.usermodel.DateUtil;
+import org.aspectj.util.FileUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.io.ClassPathResource;
+import org.springframework.core.io.InputStreamResource;
+import org.springframework.core.io.Resource;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
+import java.util.Date;
+import java.util.List;
+import java.util.Locale;
+
+/**
+ * @author Administrator
+ * @version 1.0
+ * @project credit-rating
+ * @description 行政许可
+ * @date 2024/3/26 14:20:34
+ */
+@Api(value = "行政许可", tags = "行政许可")
+@RestController
+@RequestMapping("/crmAdministrativeLicense")
+public class CrmAdministrativeLicenseController extends BaseController {
+    @Autowired
+    private CrmAdministrativeLicenseService service;
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "行政许可分页查询")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "行政许可查询所有")
+    public AjaxResult getList(String conditionJson) throws Exception {
+        return AjaxResult.success(service.list(SearchUtil.parseWhereSql(conditionJson)));
+    }
+
+    @ApiOperation("行政许可数据导入")
+    @Log(title = "行政许可", businessType = BusinessType.IMPORT)
+    //@PreAuthorize("@ss.hasPermi('system:user:import')")
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmAdministrativeLicense> crmAdministrativeLicenseAll = service.list();
+            List<CrmAdministrativeLicense> list = ExcelUtils.readMultipartFile(file, CrmAdministrativeLicense.class,CrmAdministrativeLicense.class.getDeclaredFields().length - 2);
+            if(crmAdministrativeLicenseAll != null && crmAdministrativeLicenseAll.size() > 0) {
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("行政许可数据导出")
+    @Log(title = "行政许可", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public void exportData(HttpServletResponse response,String conditionJson) throws Exception {
+        List<CrmAdministrativeLicense> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+        ExcelUtils.export(response,"行政许可",wrapperList,CrmAdministrativeLicense.class);
+    }
+
+    @Log(title = "行政许可", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除行政许可", notes = "删除行政许可")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"行政许可数据模板");
+    }
+}
+

+ 141 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmAdministrativePenaltyController.java

@@ -0,0 +1,141 @@
+package com.zksy.web.controller.basicData;
+
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmAdministrativePenalty;
+import com.zksy.system.basicData.service.CrmAdministrativePenaltyService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 行政处罚Controller
+ *
+ * @author sy
+ * @date 2024-04-08
+ */
+@Slf4j
+@RestController
+@RequestMapping("/crmAdministrativePenalty")
+@Api(tags = "行政处罚", description = "行政处罚desc")
+public class CrmAdministrativePenaltyController extends BaseController {
+
+    @Autowired
+    private CrmAdministrativePenaltyService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "行政处罚搜索getById")
+    public AjaxResult getById(@PathVariable String borrowId) {
+        return AjaxResult.success(service.getById(borrowId));
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "行政处罚分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "行政处罚查询所有")
+    public AjaxResult getList(String conditionJson) throws Exception {
+        return AjaxResult.success(service.list(SearchUtil.parseWhereSql(conditionJson)));
+    }
+
+    /**
+     * 新增行政处罚
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "行政处罚新增")
+    @Log(title = "新增行政处罚", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmAdministrativePenalty crmAdministrativePenalty) {
+        return service.save(crmAdministrativePenalty);
+    }
+
+    /**
+     * 修改行政处罚
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "行政处罚修改")
+    @Log(title = "修改行政处罚", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmAdministrativePenalty crmAdministrativePenalty) {
+        return service.updateById(crmAdministrativePenalty);
+    }
+
+    /**
+     * 导入行政处罚
+     */
+    @ApiOperation("行政处罚导入")
+    @Log(title = "行政处罚", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmAdministrativePenalty> crmAdministrativePenaltyAll = service.list();
+            List<CrmAdministrativePenalty> list = ExcelUtils.readMultipartFile(file, CrmAdministrativePenalty.class,CrmAdministrativePenalty.class.getDeclaredFields().length-2);
+            if(crmAdministrativePenaltyAll != null && crmAdministrativePenaltyAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            log.info("这是处理后的val的值:"+list);
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("行政处罚导出")
+    @Log(title = "行政处罚", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmAdministrativePenalty> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"行政处罚",wrapperList,CrmAdministrativePenalty.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "行政处罚", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除行政处罚", notes = "删除行政处罚")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @Log(title = "行政处罚", businessType = BusinessType.DELETE)
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"行政处罚数据模板");
+    }
+}
+

+ 136 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmAdministrativeSanctionController.java

@@ -0,0 +1,136 @@
+package com.zksy.web.controller.basicData;
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmAdministrativeSanction;
+import com.zksy.system.basicData.service.CrmAdministrativeSanctionService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 行政制裁信息Controller
+ *
+ * @author sy
+ * @date 2024-06-03
+ */
+@RestController
+@RequestMapping("/crmAdministrativeSanction")
+@Api(tags = "行政制裁信息", description = "行政制裁信息desc")
+public class CrmAdministrativeSanctionController extends BaseController{
+
+    @Autowired
+    private CrmAdministrativeSanctionService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "行政制裁信息搜索getById")
+    public CrmAdministrativeSanction getById(@PathVariable String borrowId) {
+        return service.getById(borrowId);
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "行政制裁信息分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "行政制裁信息查询所有")
+    public List<CrmAdministrativeSanction> getList(String conditionJson) throws Exception {
+        return service.list(SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    /**
+     * 新增行政制裁信息
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "行政制裁信息新增")
+    @Log(title = "新增行政制裁信息", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmAdministrativeSanction crmAdministrativeSanction) {
+        return service.save(crmAdministrativeSanction);
+    }
+
+    /**
+     * 修改行政制裁信息
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "行政制裁信息修改")
+    @Log(title = "修改行政制裁信息", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmAdministrativeSanction crmAdministrativeSanction) {
+        return service.updateById(crmAdministrativeSanction);
+    }
+
+    /**
+     * 导入行政制裁信息
+     */
+    @ApiOperation("行政制裁信息导入")
+    @Log(title = "行政制裁信息", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmAdministrativeSanction> crmAdministrativeSanctionAll = service.list();
+            List<CrmAdministrativeSanction> list = ExcelUtils.readMultipartFile(file, CrmAdministrativeSanction.class,CrmAdministrativeSanction.class.getDeclaredFields().length - 2);
+            if(crmAdministrativeSanctionAll != null && crmAdministrativeSanctionAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("行政制裁信息导出")
+    @Log(title = "行政制裁信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response,String conditionJson){
+        try {
+            List<CrmAdministrativeSanction> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"行政制裁信息",wrapperList,CrmAdministrativeSanction.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "行政制裁信息", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除行政制裁信息", notes = "删除行政制裁信息")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"行政制裁信息模板");
+    }
+}
+

+ 137 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmAdministrativeSanctionInfoController.java

@@ -0,0 +1,137 @@
+package com.zksy.web.controller.basicData;
+
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmAdministrativeSanctionInfo;
+import com.zksy.system.basicData.service.CrmAdministrativeSanctionInfoService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 行政裁决信息填报模板Controller
+ *
+ * @author sy
+ * @date 2024-05-08
+ */
+@RestController
+@RequestMapping("/crmAdministrativeSanctionInfo")
+@Api(tags = "行政裁决信息填报模板", description = "行政裁决信息填报模板desc")
+public class CrmAdministrativeSanctionInfoController extends BaseController {
+
+    @Autowired
+    private CrmAdministrativeSanctionInfoService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "行政裁决信息填报模板搜索getById")
+    public AjaxResult getById(@PathVariable String borrowId) {
+        return AjaxResult.success(service.getById(borrowId));
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "行政裁决信息填报模板分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "行政裁决信息填报模板查询所有")
+    public AjaxResult getList(String conditionJson) throws Exception {
+        return AjaxResult.success(service.list(SearchUtil.parseWhereSql(conditionJson)));
+    }
+
+    /**
+     * 新增行政裁决信息填报模板
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "行政裁决信息填报模板新增")
+    @Log(title = "新增行政裁决信息填报模板", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmAdministrativeSanctionInfo crmAdministrativeSanctionInfo) {
+        return service.save(crmAdministrativeSanctionInfo);
+    }
+
+    /**
+     * 修改行政裁决信息填报模板
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "行政裁决信息填报模板修改")
+    @Log(title = "修改行政裁决信息填报模板", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmAdministrativeSanctionInfo crmAdministrativeSanctionInfo) {
+        return service.updateById(crmAdministrativeSanctionInfo);
+    }
+
+    /**
+     * 导入行政裁决信息填报模板
+     */
+    @ApiOperation("行政裁决信息填报模板导入")
+    @Log(title = "行政裁决信息填报模板", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmAdministrativeSanctionInfo> crmAdministrativeSanctionInfoAll = service.list();
+            List<CrmAdministrativeSanctionInfo> list = ExcelUtils.readMultipartFile(file, CrmAdministrativeSanctionInfo.class,CrmAdministrativeSanctionInfo.class.getDeclaredFields().length - 2);
+            if(crmAdministrativeSanctionInfoAll != null && crmAdministrativeSanctionInfoAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("行政裁决信息填报模板导出")
+    @Log(title = "行政裁决信息填报模板", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmAdministrativeSanctionInfo> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"行政裁决信息填报模板",wrapperList,CrmAdministrativeSanctionInfo.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "行政裁决信息填报模板", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除行政裁决信息填报模板", notes = "删除行政裁决信息填报模板")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"行政裁决信息模板");
+    }
+}
+

+ 137 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmAdministrativeSupervisionController.java

@@ -0,0 +1,137 @@
+package com.zksy.web.controller.basicData;
+
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.system.basicData.domain.CrmAdministrativeSupervision;
+import com.zksy.system.basicData.service.CrmAdministrativeSupervisionService;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 行政监督Controller
+ *
+ * @author sy
+ * @date 2024-04-08
+ */
+@RestController
+@RequestMapping("/crmAdministrativeSupervision")
+@Api(tags = "行政监督", description = "行政监督desc")
+public class CrmAdministrativeSupervisionController extends BaseController {
+
+    @Autowired
+    private CrmAdministrativeSupervisionService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "行政监督搜索getById")
+    public AjaxResult getById(@PathVariable String borrowId) {
+        return AjaxResult.success(service.getById(borrowId));
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "行政监督分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "行政监督查询所有")
+    public AjaxResult getList(String conditionJson) throws Exception {
+        return AjaxResult.success(service.list(SearchUtil.parseWhereSql(conditionJson)));
+    }
+
+    /**
+     * 新增行政监督
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "行政监督新增")
+    @Log(title = "新增行政监督", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmAdministrativeSupervision crmAdministrativeSupervision) {
+        return service.save(crmAdministrativeSupervision);
+    }
+
+    /**
+     * 修改行政监督
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "行政监督修改")
+    @Log(title = "修改行政监督", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmAdministrativeSupervision crmAdministrativeSupervision) {
+        return service.updateById(crmAdministrativeSupervision);
+    }
+
+    /**
+     * 导入行政监督
+     */
+    @ApiOperation("行政监督导入")
+    @Log(title = "行政监督", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmAdministrativeSupervision> crmAdministrativeSupervisionAll = service.list();
+            List<CrmAdministrativeSupervision> list = ExcelUtils.readMultipartFile(file, CrmAdministrativeSupervision.class,CrmAdministrativeSupervision.class.getDeclaredFields().length - 2);
+            if(crmAdministrativeSupervisionAll != null && crmAdministrativeSupervisionAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("行政监督导出")
+    @Log(title = "行政监督", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmAdministrativeSupervision> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"行政监督",wrapperList,CrmAdministrativeSupervision.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "行政监督", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除行政监督", notes = "删除行政监督")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"行政监督检查数据模板");
+    }
+}
+

+ 136 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmAgriFisheryWaterPenaltyController.java

@@ -0,0 +1,136 @@
+package com.zksy.web.controller.basicData;
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmAgriFisheryWaterPenalty;
+import com.zksy.system.basicData.service.CrmAgriFisheryWaterPenaltyService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 农渔水利-行政处罚Controller
+ *
+ * @author sy
+ * @date 2024-06-03
+ */
+@RestController
+@RequestMapping("/crmAgriFisheryWaterPenalty")
+@Api(tags = "农渔水利-行政处罚", description = "农渔水利-行政处罚desc")
+public class CrmAgriFisheryWaterPenaltyController extends BaseController{
+
+    @Autowired
+    private CrmAgriFisheryWaterPenaltyService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "农渔水利-行政处罚搜索getById")
+    public CrmAgriFisheryWaterPenalty getById(@PathVariable String borrowId) {
+        return service.getById(borrowId);
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "农渔水利-行政处罚分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "农渔水利-行政处罚查询所有")
+    public List<CrmAgriFisheryWaterPenalty> getList(String conditionJson) throws Exception {
+        return service.list(SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    /**
+     * 新增农渔水利-行政处罚
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "农渔水利-行政处罚新增")
+    @Log(title = "新增农渔水利-行政处罚", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmAgriFisheryWaterPenalty crmAgriFisheryWaterPenalty) {
+        return service.save(crmAgriFisheryWaterPenalty);
+    }
+
+    /**
+     * 修改农渔水利-行政处罚
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "农渔水利-行政处罚修改")
+    @Log(title = "修改农渔水利-行政处罚", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmAgriFisheryWaterPenalty crmAgriFisheryWaterPenalty) {
+        return service.updateById(crmAgriFisheryWaterPenalty);
+    }
+
+    /**
+     * 导入农渔水利-行政处罚
+     */
+    @ApiOperation("农渔水利-行政处罚导入")
+    @Log(title = "农渔水利-行政处罚", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmAgriFisheryWaterPenalty> crmAgriFisheryWaterPenaltyAll = service.list();
+            List<CrmAgriFisheryWaterPenalty> list = ExcelUtils.readMultipartFile(file, CrmAgriFisheryWaterPenalty.class,CrmAgriFisheryWaterPenalty.class.getDeclaredFields().length - 2);
+            if(crmAgriFisheryWaterPenaltyAll != null && crmAgriFisheryWaterPenaltyAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("农渔水利-行政处罚导出")
+    @Log(title = "农渔水利-行政处罚", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmAgriFisheryWaterPenalty> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"农渔水利-行政处罚",wrapperList,CrmAgriFisheryWaterPenalty.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "农渔水利-行政处罚", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除农渔水利-行政处罚", notes = "删除农渔水利-行政处罚")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"农渔水利-行政处罚模板");
+    }
+}
+

+ 136 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmAgriculturalProductSupervisionCheckController.java

@@ -0,0 +1,136 @@
+package com.zksy.web.controller.basicData;
+
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmAgriculturalProductSupervisionCheck;
+import com.zksy.system.basicData.service.CrmAgriculturalProductSupervisionCheckService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 食品及食用农产品监督抽检情况汇总Controller
+ *
+ * @author sy
+ * @date 2024-05-08
+ */
+@RestController
+@RequestMapping("/crmAgriculturalProductSupervisionCheck")
+@Api(tags = "食品及食用农产品监督抽检情况汇总", description = "食品及食用农产品监督抽检情况汇总desc")
+public class CrmAgriculturalProductSupervisionCheckController extends BaseController {
+
+    @Autowired
+    private CrmAgriculturalProductSupervisionCheckService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "食品及食用农产品监督抽检情况汇总搜索getById")
+    public AjaxResult getById(@PathVariable String borrowId) {
+        return AjaxResult.success(service.getById(borrowId));
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "食品及食用农产品监督抽检情况汇总分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "食品及食用农产品监督抽检情况汇总查询所有")
+    public AjaxResult getList(String conditionJson) throws Exception {
+        return AjaxResult.success(service.list(SearchUtil.parseWhereSql(conditionJson)));
+    }
+
+    /**
+     * 新增食品及食用农产品监督抽检情况汇总
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "食品及食用农产品监督抽检情况汇总新增")
+    @Log(title = "新增食品及食用农产品监督抽检情况汇总", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmAgriculturalProductSupervisionCheck crmAgriculturalProductSupervisionCheck) {
+        return service.save(crmAgriculturalProductSupervisionCheck);
+    }
+
+    /**
+     * 修改食品及食用农产品监督抽检情况汇总
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "食品及食用农产品监督抽检情况汇总修改")
+    @Log(title = "修改食品及食用农产品监督抽检情况汇总", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmAgriculturalProductSupervisionCheck crmAgriculturalProductSupervisionCheck) {
+        return service.updateById(crmAgriculturalProductSupervisionCheck);
+    }
+
+    /**
+     * 导入食品及食用农产品监督抽检情况汇总
+     */
+    @ApiOperation("食品及食用农产品监督抽检情况汇总导入")
+    @Log(title = "食品及食用农产品监督抽检情况汇总", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmAgriculturalProductSupervisionCheck> crmAgriculturalProductSupervisionCheckAll = service.list();
+            List<CrmAgriculturalProductSupervisionCheck> list = ExcelUtils.readMultipartFile(file, CrmAgriculturalProductSupervisionCheck.class,CrmAgriculturalProductSupervisionCheck.class.getDeclaredFields().length - 2);
+            if(crmAgriculturalProductSupervisionCheckAll != null && crmAgriculturalProductSupervisionCheckAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("食品及食用农产品监督抽检情况汇总导出")
+    @Log(title = "食品及食用农产品监督抽检情况汇总", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmAgriculturalProductSupervisionCheck> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"食品及食用农产品监督抽检情况汇总",wrapperList,CrmAgriculturalProductSupervisionCheck.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "食品及食用农产品监督抽检情况汇总", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除食品及食用农产品监督抽检情况汇总", notes = "删除食品及食用农产品监督抽检情况汇总")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"食品及食用农产品监督抽检情况汇总模板");
+    }
+}
+

+ 137 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmAgriculturalProductSupervisionCheckResultController.java

@@ -0,0 +1,137 @@
+package com.zksy.web.controller.basicData;
+
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmAgriculturalProductSupervisionCheckResult;
+import com.zksy.system.basicData.service.CrmAgriculturalProductSupervisionCheckResultService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 食品及食用农产品监督抽检结果统计Controller
+ *
+ * @author sy
+ * @date 2024-05-08
+ */
+@RestController
+@RequestMapping("/crmAgriculturalProductSupervisionCheckResult")
+@Api(tags = "食品及食用农产品监督抽检结果统计", description = "食品及食用农产品监督抽检结果统计desc")
+public class CrmAgriculturalProductSupervisionCheckResultController extends BaseController {
+
+    @Autowired
+    private CrmAgriculturalProductSupervisionCheckResultService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "食品及食用农产品监督抽检结果统计搜索getById")
+    public AjaxResult getById(@PathVariable String borrowId) {
+        return AjaxResult.success(service.getById(borrowId));
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "食品及食用农产品监督抽检结果统计分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "食品及食用农产品监督抽检结果统计查询所有")
+    public AjaxResult getList(String conditionJson) throws Exception {
+        return AjaxResult.success(service.list(SearchUtil.parseWhereSql(conditionJson)));
+    }
+
+    /**
+     * 新增食品及食用农产品监督抽检结果统计
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "食品及食用农产品监督抽检结果统计新增")
+    @Log(title = "新增食品及食用农产品监督抽检结果统计", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmAgriculturalProductSupervisionCheckResult crmAgriculturalProductSupervisionCheckResult) {
+        return service.save(crmAgriculturalProductSupervisionCheckResult);
+    }
+
+    /**
+     * 修改食品及食用农产品监督抽检结果统计
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "食品及食用农产品监督抽检结果统计修改")
+    @Log(title = "修改食品及食用农产品监督抽检结果统计", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmAgriculturalProductSupervisionCheckResult crmAgriculturalProductSupervisionCheckResult) {
+        return service.updateById(crmAgriculturalProductSupervisionCheckResult);
+    }
+
+    /**
+     * 导入食品及食用农产品监督抽检结果统计
+     */
+    @ApiOperation("食品及食用农产品监督抽检结果统计导入")
+    @Log(title = "食品及食用农产品监督抽检结果统计", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmAgriculturalProductSupervisionCheckResult> crmAgriculturalProductSupervisionCheckResultAll = service.list();
+            List<CrmAgriculturalProductSupervisionCheckResult> list = ExcelUtils.readMultipartFile(file, CrmAgriculturalProductSupervisionCheckResult.class,CrmAgriculturalProductSupervisionCheckResult.class.getDeclaredFields().length - 2);
+            if(crmAgriculturalProductSupervisionCheckResultAll != null && crmAgriculturalProductSupervisionCheckResultAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("食品及食用农产品监督抽检结果统计导出")
+    @Log(title = "食品及食用农产品监督抽检结果统计", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmAgriculturalProductSupervisionCheckResult> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"食品及食用农产品监督抽检结果统计",wrapperList,CrmAgriculturalProductSupervisionCheckResult.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "食品及食用农产品监督抽检结果统计", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除食品及食用农产品监督抽检结果统计", notes = "删除食品及食用农产品监督抽检结果统计")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"食品及食用农产品监督抽检结果统计表模板");
+    }
+}
+

+ 136 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmAnnouncementPenaltyController.java

@@ -0,0 +1,136 @@
+package com.zksy.web.controller.basicData;
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmAnnouncementPenalty;
+import com.zksy.system.basicData.service.CrmAnnouncementPenaltyService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 通报处罚信息Controller
+ *
+ * @author sy
+ * @date 2024-06-03
+ */
+@RestController
+@RequestMapping("/crmAnnouncementPenalty")
+@Api(tags = "通报处罚信息", description = "通报处罚信息desc")
+public class CrmAnnouncementPenaltyController extends BaseController{
+
+    @Autowired
+    private CrmAnnouncementPenaltyService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "通报处罚信息搜索getById")
+    public CrmAnnouncementPenalty getById(@PathVariable String borrowId) {
+        return service.getById(borrowId);
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "通报处罚信息分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "通报处罚信息查询所有")
+    public List<CrmAnnouncementPenalty> getList(String conditionJson) throws Exception {
+        return service.list(SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    /**
+     * 新增通报处罚信息
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "通报处罚信息新增")
+    @Log(title = "新增通报处罚信息", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmAnnouncementPenalty crmAnnouncementPenalty) {
+        return service.save(crmAnnouncementPenalty);
+    }
+
+    /**
+     * 修改通报处罚信息
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "通报处罚信息修改")
+    @Log(title = "修改通报处罚信息", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmAnnouncementPenalty crmAnnouncementPenalty) {
+        return service.updateById(crmAnnouncementPenalty);
+    }
+
+    /**
+     * 导入通报处罚信息
+     */
+    @ApiOperation("通报处罚信息导入")
+    @Log(title = "通报处罚信息", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmAnnouncementPenalty> crmAnnouncementPenaltyAll = service.list();
+            List<CrmAnnouncementPenalty> list = ExcelUtils.readMultipartFile(file, CrmAnnouncementPenalty.class,CrmAnnouncementPenalty.class.getDeclaredFields().length - 2);
+            if(crmAnnouncementPenaltyAll != null && crmAnnouncementPenaltyAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("通报处罚信息导出")
+    @Log(title = "通报处罚信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmAnnouncementPenalty> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"通报处罚信息",wrapperList,CrmAnnouncementPenalty.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "通报处罚信息", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除通报处罚信息", notes = "删除通报处罚信息")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"通报处罚信息模板");
+    }
+}
+

+ 136 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmAnnualOutputValueInfoController.java

@@ -0,0 +1,136 @@
+package com.zksy.web.controller.basicData;
+
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmAnnualOutputValueInfo;
+import com.zksy.system.basicData.service.CrmAnnualOutputValueInfoService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 年产值Controller
+ *
+ * @author sy
+ * @date 2024-05-08
+ */
+@RestController
+@RequestMapping("/crmAnnualOutputValueInfo")
+@Api(tags = "年产值", description = "年产值desc")
+public class CrmAnnualOutputValueInfoController extends BaseController {
+
+    @Autowired
+    private CrmAnnualOutputValueInfoService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "年产值搜索getById")
+    public AjaxResult getById(@PathVariable String borrowId) {
+        return AjaxResult.success(service.getById(borrowId));
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "年产值分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "年产值查询所有")
+    public AjaxResult getList(String conditionJson) throws Exception {
+        return AjaxResult.success(service.list(SearchUtil.parseWhereSql(conditionJson)));
+    }
+
+    /**
+     * 新增年产值
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "年产值新增")
+    @Log(title = "新增年产值", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmAnnualOutputValueInfo crmAnnualOutputValueInfo) {
+        return service.save(crmAnnualOutputValueInfo);
+    }
+
+    /**
+     * 修改年产值
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "年产值修改")
+    @Log(title = "修改年产值", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmAnnualOutputValueInfo crmAnnualOutputValueInfo) {
+        return service.updateById(crmAnnualOutputValueInfo);
+    }
+
+    /**
+     * 导入年产值
+     */
+    @ApiOperation("年产值导入")
+    @Log(title = "年产值", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmAnnualOutputValueInfo> crmAnnualOutputValueInfoAll = service.list();
+            List<CrmAnnualOutputValueInfo> list = ExcelUtils.readMultipartFile(file, CrmAnnualOutputValueInfo.class,CrmAnnualOutputValueInfo.class.getDeclaredFields().length - 2);
+            if(crmAnnualOutputValueInfoAll != null && crmAnnualOutputValueInfoAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("年产值导出")
+    @Log(title = "年产值", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmAnnualOutputValueInfo> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"年产值",wrapperList,CrmAnnualOutputValueInfo.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "年产值", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除年产值", notes = "删除年产值")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"企业年产值模板");
+    }
+}
+

+ 129 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmArbitrationDocumentInformationController.java

@@ -0,0 +1,129 @@
+package com.zksy.web.controller.basicData;
+
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmArbitrationDocumentInformation;
+import com.zksy.system.basicData.service.CrmArbitrationDocumentInformationService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * 裁决文书信息Controller
+ *
+ * @author sy
+ * @date 2024-04-09
+ */
+@RestController
+@RequestMapping("/crmArbitrationDocumentInformation")
+@Api(tags = "裁决文书信息", description = "裁决文书信息desc")
+public class CrmArbitrationDocumentInformationController extends BaseController {
+
+    @Autowired
+    private CrmArbitrationDocumentInformationService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "裁决文书信息搜索getById")
+    public AjaxResult getById(@PathVariable String borrowId) {
+        return AjaxResult.success(service.getById(borrowId));
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "裁决文书信息分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "裁决文书信息查询所有")
+    public AjaxResult getList(String conditionJson) throws Exception {
+        return AjaxResult.success(service.list(SearchUtil.parseWhereSql(conditionJson)));
+    }
+
+    /**
+     * 新增裁决文书信息
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "裁决文书信息新增")
+    @Log(title = "新增裁决文书信息", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmArbitrationDocumentInformation crmArbitrationDocumentInformation) {
+        return service.save(crmArbitrationDocumentInformation);
+    }
+
+    /**
+     * 修改裁决文书信息
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "裁决文书信息修改")
+    @Log(title = "修改裁决文书信息", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmArbitrationDocumentInformation crmArbitrationDocumentInformation) {
+        return service.updateById(crmArbitrationDocumentInformation);
+    }
+
+    /**
+     * 导入裁决文书信息
+     */
+    @ApiOperation("裁决文书信息导入")
+    @Log(title = "裁决文书信息", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmArbitrationDocumentInformation> crmArbitrationDocumentInformationAll = service.list();
+            List<CrmArbitrationDocumentInformation> list = ExcelUtils.readMultipartFile(file, CrmArbitrationDocumentInformation.class,CrmArbitrationDocumentInformation.class.getDeclaredFields().length - 2);
+            if(crmArbitrationDocumentInformationAll != null && crmArbitrationDocumentInformationAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("裁决文书信息导出")
+    @Log(title = "裁决文书信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmArbitrationDocumentInformation> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"裁决文书信息",wrapperList,CrmArbitrationDocumentInformation.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "裁决文书信息", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除裁决文书信息", notes = "删除裁决文书信息")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+}
+

+ 136 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmArbitrationInformationController.java

@@ -0,0 +1,136 @@
+package com.zksy.web.controller.basicData;
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmArbitrationInformation;
+import com.zksy.system.basicData.service.CrmArbitrationInformationService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 仲裁信息Controller
+ *
+ * @author sy
+ * @date 2024-06-03
+ */
+@RestController
+@RequestMapping("/crmArbitrationInformation")
+@Api(tags = "仲裁信息", description = "仲裁信息desc")
+public class CrmArbitrationInformationController extends BaseController{
+
+    @Autowired
+    private CrmArbitrationInformationService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "仲裁信息搜索getById")
+    public CrmArbitrationInformation getById(@PathVariable String borrowId) {
+        return service.getById(borrowId);
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "仲裁信息分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "仲裁信息查询所有")
+    public List<CrmArbitrationInformation> getList(String conditionJson) throws Exception {
+        return service.list(SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    /**
+     * 新增仲裁信息
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "仲裁信息新增")
+    @Log(title = "新增仲裁信息", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmArbitrationInformation crmArbitrationInformation) {
+        return service.save(crmArbitrationInformation);
+    }
+
+    /**
+     * 修改仲裁信息
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "仲裁信息修改")
+    @Log(title = "修改仲裁信息", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmArbitrationInformation crmArbitrationInformation) {
+        return service.updateById(crmArbitrationInformation);
+    }
+
+    /**
+     * 导入仲裁信息
+     */
+    @ApiOperation("仲裁信息导入")
+    @Log(title = "仲裁信息", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmArbitrationInformation> crmArbitrationInformationAll = service.list();
+            List<CrmArbitrationInformation> list = ExcelUtils.readMultipartFile(file, CrmArbitrationInformation.class,CrmArbitrationInformation.class.getDeclaredFields().length - 2);
+            if(crmArbitrationInformationAll != null && crmArbitrationInformationAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("仲裁信息导出")
+    @Log(title = "仲裁信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmArbitrationInformation> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"仲裁信息",wrapperList,CrmArbitrationInformation.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "仲裁信息", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除仲裁信息", notes = "删除仲裁信息")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"仲裁信息模板");
+    }
+}
+

+ 135 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmArrearsNotificationFinancialController.java

@@ -0,0 +1,135 @@
+package com.zksy.web.controller.basicData;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.enums.BusinessType;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmArrearsNotificationFinancial;
+import com.zksy.system.basicData.service.CrmArrearsNotificationFinancialService;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 金融欠款-催告信息Controller
+ *
+ * @author sy
+ * @date 2024-06-04
+ */
+@RestController
+@RequestMapping("/crmArrearsNotificationFinancial")
+@Api(tags = "金融欠款-催告信息", description = "金融欠款-催告信息desc")
+public class CrmArrearsNotificationFinancialController extends BaseController{
+
+    @Autowired
+    private CrmArrearsNotificationFinancialService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "金融欠款-催告信息搜索getById")
+    public CrmArrearsNotificationFinancial getById(@PathVariable String borrowId) {
+        return service.getById(borrowId);
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "金融欠款-催告信息分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "金融欠款-催告信息查询所有")
+    public List<CrmArrearsNotificationFinancial> getList(String conditionJson) throws Exception {
+        return service.list(SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    /**
+     * 新增金融欠款-催告信息
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "金融欠款-催告信息新增")
+    @Log(title = "新增金融欠款-催告信息", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmArrearsNotificationFinancial crmArrearsNotificationFinancial) {
+        return service.save(crmArrearsNotificationFinancial);
+    }
+
+    /**
+     * 修改金融欠款-催告信息
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "金融欠款-催告信息修改")
+    @Log(title = "修改金融欠款-催告信息", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmArrearsNotificationFinancial crmArrearsNotificationFinancial) {
+        return service.updateById(crmArrearsNotificationFinancial);
+    }
+
+    /**
+     * 导入金融欠款-催告信息
+     */
+    @ApiOperation("金融欠款-催告信息导入")
+    @Log(title = "金融欠款-催告信息", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmArrearsNotificationFinancial> crmArrearsNotificationFinancialAll = service.list();
+            List<CrmArrearsNotificationFinancial> list = ExcelUtils.readMultipartFile(file, CrmArrearsNotificationFinancial.class,CrmArrearsNotificationFinancial.class.getDeclaredFields().length - 2);
+            if(crmArrearsNotificationFinancialAll != null && crmArrearsNotificationFinancialAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("金融欠款-催告信息导出")
+    @Log(title = "金融欠款-催告信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmArrearsNotificationFinancial> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"金融欠款-催告信息",wrapperList,CrmArrearsNotificationFinancial.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "金融欠款-催告信息", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除金融欠款-催告信息", notes = "删除金融欠款-催告信息")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"金融欠款-催告信息模板");
+    }
+}
+

+ 136 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmAssociationHonorInformationController.java

@@ -0,0 +1,136 @@
+package com.zksy.web.controller.basicData;
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmAssociationHonorInformation;
+import com.zksy.system.basicData.service.CrmAssociationHonorInformationService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 协会颁发的荣誉信息Controller
+ *
+ * @author sy
+ * @date 2024-06-03
+ */
+@RestController
+@RequestMapping("/crmAssociationHonorInformation")
+@Api(tags = "协会颁发的荣誉信息", description = "协会颁发的荣誉信息desc")
+public class CrmAssociationHonorInformationController extends BaseController{
+
+    @Autowired
+    private CrmAssociationHonorInformationService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "协会颁发的荣誉信息搜索getById")
+    public CrmAssociationHonorInformation getById(@PathVariable String borrowId) {
+        return service.getById(borrowId);
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "协会颁发的荣誉信息分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "协会颁发的荣誉信息查询所有")
+    public List<CrmAssociationHonorInformation> getList(String conditionJson) throws Exception {
+        return service.list(SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    /**
+     * 新增协会颁发的荣誉信息
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "协会颁发的荣誉信息新增")
+    @Log(title = "新增协会颁发的荣誉信息", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmAssociationHonorInformation crmAssociationHonorInformation) {
+        return service.save(crmAssociationHonorInformation);
+    }
+
+    /**
+     * 修改协会颁发的荣誉信息
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "协会颁发的荣誉信息修改")
+    @Log(title = "修改协会颁发的荣誉信息", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmAssociationHonorInformation crmAssociationHonorInformation) {
+        return service.updateById(crmAssociationHonorInformation);
+    }
+
+    /**
+     * 导入协会颁发的荣誉信息
+     */
+    @ApiOperation("协会颁发的荣誉信息导入")
+    @Log(title = "协会颁发的荣誉信息", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmAssociationHonorInformation> crmAssociationHonorInformationAll = service.list();
+            List<CrmAssociationHonorInformation> list = ExcelUtils.readMultipartFile(file, CrmAssociationHonorInformation.class,CrmAssociationHonorInformation.class.getDeclaredFields().length - 2);
+            if(crmAssociationHonorInformationAll != null && crmAssociationHonorInformationAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("协会颁发的荣誉信息导出")
+    @Log(title = "协会颁发的荣誉信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmAssociationHonorInformation> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"协会颁发的荣誉信息",wrapperList,CrmAssociationHonorInformation.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "协会颁发的荣誉信息", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除协会颁发的荣誉信息", notes = "删除协会颁发的荣誉信息")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"协会颁发的荣誉信息模板");
+    }
+}
+

+ 135 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmBadSupplierEnterprisePenaltyController.java

@@ -0,0 +1,135 @@
+package com.zksy.web.controller.basicData;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.enums.BusinessType;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmBadSupplierEnterprisePenalty;
+import com.zksy.system.basicData.service.CrmBadSupplierEnterprisePenaltyService;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 不良供应商-企业采购处罚信息Controller
+ *
+ * @author sy
+ * @date 2024-06-05
+ */
+@RestController
+@RequestMapping("/crmBadSupplierEnterprisePenalty")
+@Api(tags = "不良供应商-企业采购处罚信息", description = "不良供应商-企业采购处罚信息desc")
+public class CrmBadSupplierEnterprisePenaltyController extends BaseController{
+
+    @Autowired
+    private CrmBadSupplierEnterprisePenaltyService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "不良供应商-企业采购处罚信息搜索getById")
+    public CrmBadSupplierEnterprisePenalty getById(@PathVariable String borrowId) {
+        return service.getById(borrowId);
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "不良供应商-企业采购处罚信息分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "不良供应商-企业采购处罚信息查询所有")
+    public List<CrmBadSupplierEnterprisePenalty> getList(String conditionJson) throws Exception {
+        return service.list(SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    /**
+     * 新增不良供应商-企业采购处罚信息
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "不良供应商-企业采购处罚信息新增")
+    @Log(title = "新增不良供应商-企业采购处罚信息", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmBadSupplierEnterprisePenalty crmBadSupplierEnterprisePenalty) {
+        return service.save(crmBadSupplierEnterprisePenalty);
+    }
+
+    /**
+     * 修改不良供应商-企业采购处罚信息
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "不良供应商-企业采购处罚信息修改")
+    @Log(title = "修改不良供应商-企业采购处罚信息", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmBadSupplierEnterprisePenalty crmBadSupplierEnterprisePenalty) {
+        return service.updateById(crmBadSupplierEnterprisePenalty);
+    }
+
+    /**
+     * 导入不良供应商-企业采购处罚信息
+     */
+    @ApiOperation("不良供应商-企业采购处罚信息导入")
+    @Log(title = "不良供应商-企业采购处罚信息", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmBadSupplierEnterprisePenalty> crmBadSupplierEnterprisePenaltyAll = service.list();
+            List<CrmBadSupplierEnterprisePenalty> list = ExcelUtils.readMultipartFile(file, CrmBadSupplierEnterprisePenalty.class,CrmBadSupplierEnterprisePenalty.class.getDeclaredFields().length - 2);
+            if(crmBadSupplierEnterprisePenaltyAll != null && crmBadSupplierEnterprisePenaltyAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("不良供应商-企业采购处罚信息导出")
+    @Log(title = "不良供应商-企业采购处罚信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmBadSupplierEnterprisePenalty> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"不良供应商-企业采购处罚信息",wrapperList,CrmBadSupplierEnterprisePenalty.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "不良供应商-企业采购处罚信息", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除不良供应商-企业采购处罚信息", notes = "删除不良供应商-企业采购处罚信息")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"不良供应商-企业采购处罚信息模板");
+    }
+}
+

+ 136 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmBankCreditRatingController.java

@@ -0,0 +1,136 @@
+package com.zksy.web.controller.basicData;
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmBankCreditRating;
+import com.zksy.system.basicData.service.CrmBankCreditRatingService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 银行信用等级信息Controller
+ *
+ * @author sy
+ * @date 2024-06-03
+ */
+@RestController
+@RequestMapping("/crmBankCreditRating")
+@Api(tags = "银行信用等级信息", description = "银行信用等级信息desc")
+public class CrmBankCreditRatingController extends BaseController{
+
+    @Autowired
+    private CrmBankCreditRatingService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "银行信用等级信息搜索getById")
+    public CrmBankCreditRating getById(@PathVariable String borrowId) {
+        return service.getById(borrowId);
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "银行信用等级信息分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "银行信用等级信息查询所有")
+    public List<CrmBankCreditRating> getList(String conditionJson) throws Exception {
+        return service.list(SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    /**
+     * 新增银行信用等级信息
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "银行信用等级信息新增")
+    @Log(title = "新增银行信用等级信息", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmBankCreditRating crmBankCreditRating) {
+        return service.save(crmBankCreditRating);
+    }
+
+    /**
+     * 修改银行信用等级信息
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "银行信用等级信息修改")
+    @Log(title = "修改银行信用等级信息", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmBankCreditRating crmBankCreditRating) {
+        return service.updateById(crmBankCreditRating);
+    }
+
+    /**
+     * 导入银行信用等级信息
+     */
+    @ApiOperation("银行信用等级信息导入")
+    @Log(title = "银行信用等级信息", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmBankCreditRating> crmBankCreditRatingAll = service.list();
+            List<CrmBankCreditRating> list = ExcelUtils.readMultipartFile(file, CrmBankCreditRating.class,CrmBankCreditRating.class.getDeclaredFields().length - 2);
+            if(crmBankCreditRatingAll != null && crmBankCreditRatingAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("银行信用等级信息导出")
+    @Log(title = "银行信用等级信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmBankCreditRating> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"银行信用等级信息",wrapperList,CrmBankCreditRating.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "银行信用等级信息", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除银行信用等级信息", notes = "删除银行信用等级信息")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"银行信用等级信息模板");
+    }
+}
+

+ 135 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmBankruptcyAnnouncementController.java

@@ -0,0 +1,135 @@
+package com.zksy.web.controller.basicData;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.enums.BusinessType;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmBankruptcyAnnouncement;
+import com.zksy.system.basicData.service.CrmBankruptcyAnnouncementService;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 破产公告信息Controller
+ *
+ * @author sy
+ * @date 2024-06-04
+ */
+@RestController
+@RequestMapping("/crmBankruptcyAnnouncement")
+@Api(tags = "破产公告信息", description = "破产公告信息desc")
+public class CrmBankruptcyAnnouncementController extends BaseController{
+
+    @Autowired
+    private CrmBankruptcyAnnouncementService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "破产公告信息搜索getById")
+    public CrmBankruptcyAnnouncement getById(@PathVariable String borrowId) {
+        return service.getById(borrowId);
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "破产公告信息分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "破产公告信息查询所有")
+    public List<CrmBankruptcyAnnouncement> getList(String conditionJson) throws Exception {
+        return service.list(SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    /**
+     * 新增破产公告信息
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "破产公告信息新增")
+    @Log(title = "新增破产公告信息", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmBankruptcyAnnouncement crmBankruptcyAnnouncement) {
+        return service.save(crmBankruptcyAnnouncement);
+    }
+
+    /**
+     * 修改破产公告信息
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "破产公告信息修改")
+    @Log(title = "修改破产公告信息", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmBankruptcyAnnouncement crmBankruptcyAnnouncement) {
+        return service.updateById(crmBankruptcyAnnouncement);
+    }
+
+    /**
+     * 导入破产公告信息
+     */
+    @ApiOperation("破产公告信息导入")
+    @Log(title = "破产公告信息", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmBankruptcyAnnouncement> crmBankruptcyAnnouncementAll = service.list();
+            List<CrmBankruptcyAnnouncement> list = ExcelUtils.readMultipartFile(file, CrmBankruptcyAnnouncement.class,CrmBankruptcyAnnouncement.class.getDeclaredFields().length - 2);
+            if(crmBankruptcyAnnouncementAll != null && crmBankruptcyAnnouncementAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("破产公告信息导出")
+    @Log(title = "破产公告信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmBankruptcyAnnouncement> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"破产公告信息",wrapperList,CrmBankruptcyAnnouncement.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "破产公告信息", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除破产公告信息", notes = "删除破产公告信息")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"破产公告信息模板");
+    }
+}
+

+ 136 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmBankruptcyInformationController.java

@@ -0,0 +1,136 @@
+package com.zksy.web.controller.basicData;
+
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmBankruptcyInformation;
+import com.zksy.system.basicData.service.CrmBankruptcyInformationService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 破产信息Controller
+ *
+ * @author sy
+ * @date 2024-04-09
+ */
+@RestController
+@RequestMapping("/crmBankruptcyInformation")
+@Api(tags = "破产信息", description = "破产信息desc")
+public class CrmBankruptcyInformationController extends BaseController {
+
+    @Autowired
+    private CrmBankruptcyInformationService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "破产信息搜索getById")
+    public AjaxResult getById(@PathVariable String borrowId) {
+        return AjaxResult.success(service.getById(borrowId));
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "破产信息分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "破产信息查询所有")
+    public AjaxResult getList(String conditionJson) throws Exception {
+        return AjaxResult.success(service.list(SearchUtil.parseWhereSql(conditionJson)));
+    }
+
+    /**
+     * 新增破产信息
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "破产信息新增")
+    @Log(title = "新增破产信息", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmBankruptcyInformation crmBankruptcyInformation) {
+        return service.save(crmBankruptcyInformation);
+    }
+
+    /**
+     * 修改破产信息
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "破产信息修改")
+    @Log(title = "修改破产信息", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmBankruptcyInformation crmBankruptcyInformation) {
+        return service.updateById(crmBankruptcyInformation);
+    }
+
+    /**
+     * 导入破产信息
+     */
+    @ApiOperation("破产信息导入")
+    @Log(title = "破产信息", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmBankruptcyInformation> crmBankruptcyInformationAll = service.list();
+            List<CrmBankruptcyInformation> list = ExcelUtils.readMultipartFile(file, CrmBankruptcyInformation.class,CrmBankruptcyInformation.class.getDeclaredFields().length - 2);
+            if(crmBankruptcyInformationAll != null && crmBankruptcyInformationAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("破产信息导出")
+    @Log(title = "破产信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmBankruptcyInformation> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"破产信息",wrapperList,CrmBankruptcyInformation.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "破产信息", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除破产信息", notes = "删除破产信息")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"破产信息模板");
+    }
+}
+

+ 136 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmBranchOfficeInformationController.java

@@ -0,0 +1,136 @@
+package com.zksy.web.controller.basicData;
+
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmBranchOfficeInformation;
+import com.zksy.system.basicData.service.CrmBranchOfficeInformationService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 分支机构信息Controller
+ *
+ * @author sy
+ * @date 2024-04-09
+ */
+@RestController
+@RequestMapping("/crmBranchOfficeInformation")
+@Api(tags = "分支机构信息", description = "分支机构信息desc")
+public class CrmBranchOfficeInformationController extends BaseController {
+
+    @Autowired
+    private CrmBranchOfficeInformationService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "分支机构信息搜索getById")
+    public AjaxResult getById(@PathVariable String borrowId) {
+        return AjaxResult.success(service.getById(borrowId));
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "分支机构信息分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "分支机构信息查询所有")
+    public AjaxResult getList(String conditionJson) throws Exception {
+        return AjaxResult.success(service.list(SearchUtil.parseWhereSql(conditionJson)));
+    }
+
+    /**
+     * 新增分支机构信息
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "分支机构信息新增")
+    @Log(title = "新增分支机构信息", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmBranchOfficeInformation crmBranchOfficeInformation) {
+        return service.save(crmBranchOfficeInformation);
+    }
+
+    /**
+     * 修改分支机构信息
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "分支机构信息修改")
+    @Log(title = "修改分支机构信息", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmBranchOfficeInformation crmBranchOfficeInformation) {
+        return service.updateById(crmBranchOfficeInformation);
+    }
+
+    /**
+     * 导入分支机构信息
+     */
+    @ApiOperation("分支机构信息导入")
+    @Log(title = "分支机构信息", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmBranchOfficeInformation> crmBranchOfficeInformationAll = service.list();
+            List<CrmBranchOfficeInformation> list = ExcelUtils.readMultipartFile(file, CrmBranchOfficeInformation.class,CrmBranchOfficeInformation.class.getDeclaredFields().length - 2);
+            if(crmBranchOfficeInformationAll != null && crmBranchOfficeInformationAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("分支机构信息导出")
+    @Log(title = "分支机构信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmBranchOfficeInformation> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"分支机构信息",wrapperList,CrmBranchOfficeInformation.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "分支机构信息", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除分支机构信息", notes = "删除分支机构信息")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"分支机构信息模板");
+    }
+}
+

+ 136 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmBrandHonorInfoController.java

@@ -0,0 +1,136 @@
+package com.zksy.web.controller.basicData;
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmBrandHonorInfo;
+import com.zksy.system.basicData.service.CrmBrandHonorInfoService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 品牌荣誉信息Controller
+ *
+ * @author sy
+ * @date 2024-06-03
+ */
+@RestController
+@RequestMapping("/crmBrandHonorInfo")
+@Api(tags = "品牌荣誉信息", description = "品牌荣誉信息desc")
+public class CrmBrandHonorInfoController extends BaseController{
+
+    @Autowired
+    private CrmBrandHonorInfoService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "品牌荣誉信息搜索getById")
+    public CrmBrandHonorInfo getById(@PathVariable String borrowId) {
+        return service.getById(borrowId);
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "品牌荣誉信息分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "品牌荣誉信息查询所有")
+    public List<CrmBrandHonorInfo> getList(String conditionJson) throws Exception {
+        return service.list(SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    /**
+     * 新增品牌荣誉信息
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "品牌荣誉信息新增")
+    @Log(title = "新增品牌荣誉信息", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmBrandHonorInfo crmBrandHonorInfo) {
+        return service.save(crmBrandHonorInfo);
+    }
+
+    /**
+     * 修改品牌荣誉信息
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "品牌荣誉信息修改")
+    @Log(title = "修改品牌荣誉信息", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmBrandHonorInfo crmBrandHonorInfo) {
+        return service.updateById(crmBrandHonorInfo);
+    }
+
+    /**
+     * 导入品牌荣誉信息
+     */
+    @ApiOperation("品牌荣誉信息导入")
+    @Log(title = "品牌荣誉信息", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmBrandHonorInfo> crmBrandHonorInfoAll = service.list();
+            List<CrmBrandHonorInfo> list = ExcelUtils.readMultipartFile(file, CrmBrandHonorInfo.class,CrmBrandHonorInfo.class.getDeclaredFields().length - 2);
+            if(crmBrandHonorInfoAll != null && crmBrandHonorInfoAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("品牌荣誉信息导出")
+    @Log(title = "品牌荣誉信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmBrandHonorInfo> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"品牌荣誉信息",wrapperList,CrmBrandHonorInfo.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "品牌荣誉信息", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除品牌荣誉信息", notes = "删除品牌荣誉信息")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"品牌荣誉信息模板");
+    }
+}
+

+ 136 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmBroadcastCommunicationPenaltyController.java

@@ -0,0 +1,136 @@
+package com.zksy.web.controller.basicData;
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmBroadcastCommunicationPenalty;
+import com.zksy.system.basicData.service.CrmBroadcastCommunicationPenaltyService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 广电网信-行政处罚Controller
+ *
+ * @author sy
+ * @date 2024-06-03
+ */
+@RestController
+@RequestMapping("/crmBroadcastCommunicationPenalty")
+@Api(tags = "广电网信-行政处罚", description = "广电网信-行政处罚desc")
+public class CrmBroadcastCommunicationPenaltyController extends BaseController{
+
+    @Autowired
+    private CrmBroadcastCommunicationPenaltyService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "广电网信-行政处罚搜索getById")
+    public CrmBroadcastCommunicationPenalty getById(@PathVariable String borrowId) {
+        return service.getById(borrowId);
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "广电网信-行政处罚分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "广电网信-行政处罚查询所有")
+    public List<CrmBroadcastCommunicationPenalty> getList(String conditionJson) throws Exception {
+        return service.list(SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    /**
+     * 新增广电网信-行政处罚
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "广电网信-行政处罚新增")
+    @Log(title = "新增广电网信-行政处罚", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmBroadcastCommunicationPenalty crmBroadcastCommunicationPenalty) {
+        return service.save(crmBroadcastCommunicationPenalty);
+    }
+
+    /**
+     * 修改广电网信-行政处罚
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "广电网信-行政处罚修改")
+    @Log(title = "修改广电网信-行政处罚", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmBroadcastCommunicationPenalty crmBroadcastCommunicationPenalty) {
+        return service.updateById(crmBroadcastCommunicationPenalty);
+    }
+
+    /**
+     * 导入广电网信-行政处罚
+     */
+    @ApiOperation("广电网信-行政处罚导入")
+    @Log(title = "广电网信-行政处罚", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmBroadcastCommunicationPenalty> crmBroadcastCommunicationPenaltyAll = service.list();
+            List<CrmBroadcastCommunicationPenalty> list = ExcelUtils.readMultipartFile(file, CrmBroadcastCommunicationPenalty.class,CrmBroadcastCommunicationPenalty.class.getDeclaredFields().length - 2);
+            if(crmBroadcastCommunicationPenaltyAll != null && crmBroadcastCommunicationPenaltyAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("广电网信-行政处罚导出")
+    @Log(title = "广电网信-行政处罚", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmBroadcastCommunicationPenalty> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"广电网信-行政处罚",wrapperList,CrmBroadcastCommunicationPenalty.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "广电网信-行政处罚", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除广电网信-行政处罚", notes = "删除广电网信-行政处罚")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"广电网信-行政处罚模板");
+    }
+}
+

+ 136 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmBusinessAbnormalityController.java

@@ -0,0 +1,136 @@
+package com.zksy.web.controller.basicData;
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmBusinessAbnormality;
+import com.zksy.system.basicData.service.CrmBusinessAbnormalityService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 市场监管-经营异常Controller
+ *
+ * @author sy
+ * @date 2024-06-03
+ */
+@RestController
+@RequestMapping("/crmBusinessAbnormality")
+@Api(tags = "市场监管-经营异常", description = "市场监管-经营异常desc")
+public class CrmBusinessAbnormalityController extends BaseController{
+
+    @Autowired
+    private CrmBusinessAbnormalityService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "市场监管-经营异常搜索getById")
+    public CrmBusinessAbnormality getById(@PathVariable String borrowId) {
+        return service.getById(borrowId);
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "市场监管-经营异常分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "市场监管-经营异常查询所有")
+    public List<CrmBusinessAbnormality> getList(String conditionJson) throws Exception {
+        return service.list(SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    /**
+     * 新增市场监管-经营异常
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "市场监管-经营异常新增")
+    @Log(title = "新增市场监管-经营异常", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmBusinessAbnormality crmBusinessAbnormality) {
+        return service.save(crmBusinessAbnormality);
+    }
+
+    /**
+     * 修改市场监管-经营异常
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "市场监管-经营异常修改")
+    @Log(title = "修改市场监管-经营异常", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmBusinessAbnormality crmBusinessAbnormality) {
+        return service.updateById(crmBusinessAbnormality);
+    }
+
+    /**
+     * 导入市场监管-经营异常
+     */
+    @ApiOperation("市场监管-经营异常导入")
+    @Log(title = "市场监管-经营异常", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmBusinessAbnormality> crmBusinessAbnormalityAll = service.list();
+            List<CrmBusinessAbnormality> list = ExcelUtils.readMultipartFile(file, CrmBusinessAbnormality.class,CrmBusinessAbnormality.class.getDeclaredFields().length - 2);
+            if(crmBusinessAbnormalityAll != null && crmBusinessAbnormalityAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("市场监管-经营异常导出")
+    @Log(title = "市场监管-经营异常", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmBusinessAbnormality> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"市场监管-经营异常",wrapperList,CrmBusinessAbnormality.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "市场监管-经营异常", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除市场监管-经营异常", notes = "删除市场监管-经营异常")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"市场监管-经营异常模板");
+    }
+}
+

+ 136 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmBusinessLicenseInformationController.java

@@ -0,0 +1,136 @@
+package com.zksy.web.controller.basicData;
+
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmBusinessLicenseInformation;
+import com.zksy.system.basicData.service.CrmBusinessLicenseInformationService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 营业执照信息Controller
+ *
+ * @author sy
+ * @date 2024-05-08
+ */
+@RestController
+@RequestMapping("/crmBusinessLicenseInformation")
+@Api(tags = "营业执照信息", description = "营业执照信息desc")
+public class CrmBusinessLicenseInformationController extends BaseController {
+
+    @Autowired
+    private CrmBusinessLicenseInformationService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "营业执照信息搜索getById")
+    public AjaxResult getById(@PathVariable String borrowId) {
+        return AjaxResult.success(service.getById(borrowId));
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "营业执照信息分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "营业执照信息查询所有")
+    public AjaxResult getList(String conditionJson) throws Exception {
+        return AjaxResult.success(service.list(SearchUtil.parseWhereSql(conditionJson)));
+    }
+
+    /**
+     * 新增营业执照信息
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "营业执照信息新增")
+    @Log(title = "新增营业执照信息", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmBusinessLicenseInformation crmBusinessLicenseInformation) {
+        return service.save(crmBusinessLicenseInformation);
+    }
+
+    /**
+     * 修改营业执照信息
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "营业执照信息修改")
+    @Log(title = "修改营业执照信息", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmBusinessLicenseInformation crmBusinessLicenseInformation) {
+        return service.updateById(crmBusinessLicenseInformation);
+    }
+
+    /**
+     * 导入营业执照信息
+     */
+    @ApiOperation("营业执照信息导入")
+    @Log(title = "营业执照信息", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmBusinessLicenseInformation> crmBusinessLicenseInformationAll = service.list();
+            List<CrmBusinessLicenseInformation> list = ExcelUtils.readMultipartFile(file, CrmBusinessLicenseInformation.class,CrmBusinessLicenseInformation.class.getDeclaredFields().length - 2);
+            if(crmBusinessLicenseInformationAll != null && crmBusinessLicenseInformationAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("营业执照信息导出")
+    @Log(title = "营业执照信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmBusinessLicenseInformation> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"营业执照信息",wrapperList,CrmBusinessLicenseInformation.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "营业执照信息", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除营业执照信息", notes = "删除营业执照信息")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"营业执照信息模板");
+    }
+}
+

+ 136 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmCertifiedTechnologyEnterpriseController.java

@@ -0,0 +1,136 @@
+package com.zksy.web.controller.basicData;
+
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmCertifiedTechnologyEnterprise;
+import com.zksy.system.basicData.service.CrmCertifiedTechnologyEnterpriseService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 认证通过高新技术企业名单Controller
+ *
+ * @author sy
+ * @date 2024-05-08
+ */
+@RestController
+@RequestMapping("/crmCertifiedTechnologyEnterprise")
+@Api(tags = "认证通过高新技术企业名单", description = "认证通过高新技术企业名单desc")
+public class CrmCertifiedTechnologyEnterpriseController extends BaseController {
+
+    @Autowired
+    private CrmCertifiedTechnologyEnterpriseService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "认证通过高新技术企业名单搜索getById")
+    public AjaxResult getById(@PathVariable String borrowId) {
+        return AjaxResult.success(service.getById(borrowId));
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "认证通过高新技术企业名单分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "认证通过高新技术企业名单查询所有")
+    public AjaxResult getList(String conditionJson) throws Exception {
+        return AjaxResult.success(service.list(SearchUtil.parseWhereSql(conditionJson)));
+    }
+
+    /**
+     * 新增认证通过高新技术企业名单
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "认证通过高新技术企业名单新增")
+    @Log(title = "新增认证通过高新技术企业名单", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmCertifiedTechnologyEnterprise crmCertifiedTechnologyEnterprise) {
+        return service.save(crmCertifiedTechnologyEnterprise);
+    }
+
+    /**
+     * 修改认证通过高新技术企业名单
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "认证通过高新技术企业名单修改")
+    @Log(title = "修改认证通过高新技术企业名单", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmCertifiedTechnologyEnterprise crmCertifiedTechnologyEnterprise) {
+        return service.updateById(crmCertifiedTechnologyEnterprise);
+    }
+
+    /**
+     * 导入认证通过高新技术企业名单
+     */
+    @ApiOperation("认证通过高新技术企业名单导入")
+    @Log(title = "认证通过高新技术企业名单", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmCertifiedTechnologyEnterprise> crmCertifiedTechnologyEnterpriseAll = service.list();
+            List<CrmCertifiedTechnologyEnterprise> list = ExcelUtils.readMultipartFile(file, CrmCertifiedTechnologyEnterprise.class,CrmCertifiedTechnologyEnterprise.class.getDeclaredFields().length - 2);
+            if(crmCertifiedTechnologyEnterpriseAll != null && crmCertifiedTechnologyEnterpriseAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("认证通过高新技术企业名单导出")
+    @Log(title = "认证通过高新技术企业名单", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmCertifiedTechnologyEnterprise> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"认证通过高新技术企业名单",wrapperList,CrmCertifiedTechnologyEnterprise.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "认证通过高新技术企业名单", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除认证通过高新技术企业名单", notes = "删除认证通过高新技术企业名单")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"认证通过高新技术企业数据模板");
+    }
+}
+

+ 136 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmChangeRecordInformationController.java

@@ -0,0 +1,136 @@
+package com.zksy.web.controller.basicData;
+
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmChangeRecordInformation;
+import com.zksy.system.basicData.service.CrmChangeRecordInformationService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 变更记录信息Controller
+ *
+ * @author sy
+ * @date 2024-04-09
+ */
+@RestController
+@RequestMapping("/crmChangeRecordInformation")
+@Api(tags = "变更记录信息", description = "变更记录信息desc")
+public class CrmChangeRecordInformationController extends BaseController {
+
+    @Autowired
+    private CrmChangeRecordInformationService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "变更记录信息搜索getById")
+    public AjaxResult getById(@PathVariable String borrowId) {
+        return AjaxResult.success(service.getById(borrowId));
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "变更记录信息分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "变更记录信息查询所有")
+    public AjaxResult getList(String conditionJson) throws Exception {
+        return AjaxResult.success(service.list(SearchUtil.parseWhereSql(conditionJson)));
+    }
+
+    /**
+     * 新增变更记录信息
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "变更记录信息新增")
+    @Log(title = "新增变更记录信息", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmChangeRecordInformation crmChangeRecordInformation) {
+        return service.save(crmChangeRecordInformation);
+    }
+
+    /**
+     * 修改变更记录信息
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "变更记录信息修改")
+    @Log(title = "修改变更记录信息", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmChangeRecordInformation crmChangeRecordInformation) {
+        return service.updateById(crmChangeRecordInformation);
+    }
+
+    /**
+     * 导入变更记录信息
+     */
+    @ApiOperation("变更记录信息导入")
+    @Log(title = "变更记录信息", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmChangeRecordInformation> crmChangeRecordInformationAll = service.list();
+            List<CrmChangeRecordInformation> list = ExcelUtils.readMultipartFile(file, CrmChangeRecordInformation.class,CrmChangeRecordInformation.class.getDeclaredFields().length - 2);
+            if(crmChangeRecordInformationAll != null && crmChangeRecordInformationAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("变更记录信息导出")
+    @Log(title = "变更记录信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmChangeRecordInformation> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"变更记录信息",wrapperList,CrmChangeRecordInformation.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "变更记录信息", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除变更记录信息", notes = "删除变更记录信息")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"工商变更模板");
+    }
+}
+

+ 136 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmCharityInfoController.java

@@ -0,0 +1,136 @@
+package com.zksy.web.controller.basicData;
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmCharityInfo;
+import com.zksy.system.basicData.service.CrmCharityInfoService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 公益慈善信息Controller
+ *
+ * @author sy
+ * @date 2024-06-03
+ */
+@RestController
+@RequestMapping("/crmCharityInfo")
+@Api(tags = "公益慈善信息", description = "公益慈善信息desc")
+public class CrmCharityInfoController extends BaseController{
+
+    @Autowired
+    private CrmCharityInfoService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "公益慈善信息搜索getById")
+    public CrmCharityInfo getById(@PathVariable String borrowId) {
+        return service.getById(borrowId);
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "公益慈善信息分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "公益慈善信息查询所有")
+    public List<CrmCharityInfo> getList(String conditionJson) throws Exception {
+        return service.list(SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    /**
+     * 新增公益慈善信息
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "公益慈善信息新增")
+    @Log(title = "新增公益慈善信息", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmCharityInfo crmCharityInfo) {
+        return service.save(crmCharityInfo);
+    }
+
+    /**
+     * 修改公益慈善信息
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "公益慈善信息修改")
+    @Log(title = "修改公益慈善信息", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmCharityInfo crmCharityInfo) {
+        return service.updateById(crmCharityInfo);
+    }
+
+    /**
+     * 导入公益慈善信息
+     */
+    @ApiOperation("公益慈善信息导入")
+    @Log(title = "公益慈善信息", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmCharityInfo> crmCharityInfoAll = service.list();
+            List<CrmCharityInfo> list = ExcelUtils.readMultipartFile(file, CrmCharityInfo.class,CrmCharityInfo.class.getDeclaredFields().length - 2);
+            if(crmCharityInfoAll != null && crmCharityInfoAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("公益慈善信息导出")
+    @Log(title = "公益慈善信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmCharityInfo> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"公益慈善信息",wrapperList,CrmCharityInfo.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "公益慈善信息", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除公益慈善信息", notes = "删除公益慈善信息")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"公益慈善信息模板");
+    }
+}
+

+ 136 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmCirculationSamplingController.java

@@ -0,0 +1,136 @@
+package com.zksy.web.controller.basicData;
+
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmCirculationSampling;
+import com.zksy.system.basicData.service.CrmCirculationSamplingService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 市场监督管理局流通抽样检验工作汇总Controller
+ *
+ * @author sy
+ * @date 2024-05-08
+ */
+@RestController
+@RequestMapping("/crmCirculationSampling")
+@Api(tags = "市场监督管理局流通抽样检验工作汇总", description = "市场监督管理局流通抽样检验工作汇总desc")
+public class CrmCirculationSamplingController extends BaseController {
+
+    @Autowired
+    private CrmCirculationSamplingService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "市场监督管理局流通抽样检验工作汇总搜索getById")
+    public AjaxResult getById(@PathVariable String borrowId) {
+        return AjaxResult.success(service.getById(borrowId));
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "市场监督管理局流通抽样检验工作汇总分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "市场监督管理局流通抽样检验工作汇总查询所有")
+    public AjaxResult getList(String conditionJson) throws Exception {
+        return AjaxResult.success(service.list(SearchUtil.parseWhereSql(conditionJson)));
+    }
+
+    /**
+     * 新增市场监督管理局流通抽样检验工作汇总
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "市场监督管理局流通抽样检验工作汇总新增")
+    @Log(title = "新增市场监督管理局流通抽样检验工作汇总", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmCirculationSampling crmCirculationSampling) {
+        return service.save(crmCirculationSampling);
+    }
+
+    /**
+     * 修改市场监督管理局流通抽样检验工作汇总
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "市场监督管理局流通抽样检验工作汇总修改")
+    @Log(title = "修改市场监督管理局流通抽样检验工作汇总", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmCirculationSampling crmCirculationSampling) {
+        return service.updateById(crmCirculationSampling);
+    }
+
+    /**
+     * 导入市场监督管理局流通抽样检验工作汇总
+     */
+    @ApiOperation("市场监督管理局流通抽样检验工作汇总导入")
+    @Log(title = "市场监督管理局流通抽样检验工作汇总", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmCirculationSampling> crmCirculationSamplingAll = service.list();
+            List<CrmCirculationSampling> list = ExcelUtils.readMultipartFile(file, CrmCirculationSampling.class,CrmCirculationSampling.class.getDeclaredFields().length - 2);
+            if(crmCirculationSamplingAll != null && crmCirculationSamplingAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("市场监督管理局流通抽样检验工作汇总导出")
+    @Log(title = "市场监督管理局流通抽样检验工作汇总", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmCirculationSampling> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"市场监督管理局流通抽样检验工作汇总",wrapperList,CrmCirculationSampling.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "市场监督管理局流通抽样检验工作汇总", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除市场监督管理局流通抽样检验工作汇总", notes = "删除市场监督管理局流通抽样检验工作汇总")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"市场监督管理局流通抽样检验工作汇总模板");
+    }
+}
+

+ 135 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmCivilManagementDishonestyController.java

@@ -0,0 +1,135 @@
+package com.zksy.web.controller.basicData;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.enums.BusinessType;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmCivilManagementDishonesty;
+import com.zksy.system.basicData.service.CrmCivilManagementDishonestyService;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 民政管理失信Controller
+ *
+ * @author sy
+ * @date 2024-06-13
+ */
+@RestController
+@RequestMapping("/crmCivilManagementDishonesty")
+@Api(tags = "民政管理失信", description = "民政管理失信desc")
+public class CrmCivilManagementDishonestyController extends BaseController{
+
+    @Autowired
+    private CrmCivilManagementDishonestyService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "民政管理失信搜索getById")
+    public CrmCivilManagementDishonesty getById(@PathVariable String borrowId) {
+        return service.getById(borrowId);
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "民政管理失信分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "民政管理失信查询所有")
+    public List<CrmCivilManagementDishonesty> getList(String conditionJson) throws Exception {
+        return service.list(SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    /**
+     * 新增民政管理失信
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "民政管理失信新增")
+    @Log(title = "新增民政管理失信", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmCivilManagementDishonesty crmCivilManagementDishonesty) {
+        return service.save(crmCivilManagementDishonesty);
+    }
+
+    /**
+     * 修改民政管理失信
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "民政管理失信修改")
+    @Log(title = "修改民政管理失信", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmCivilManagementDishonesty crmCivilManagementDishonesty) {
+        return service.updateById(crmCivilManagementDishonesty);
+    }
+
+    /**
+     * 导入民政管理失信
+     */
+    @ApiOperation("民政管理失信导入")
+    @Log(title = "民政管理失信", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmCivilManagementDishonesty> crmCivilManagementDishonestyAll = service.list();
+            List<CrmCivilManagementDishonesty> list = ExcelUtils.readMultipartFile(file, CrmCivilManagementDishonesty.class,CrmCivilManagementDishonesty.class.getDeclaredFields().length - 2);
+            if(crmCivilManagementDishonestyAll != null && crmCivilManagementDishonestyAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("民政管理失信导出")
+    @Log(title = "民政管理失信", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmCivilManagementDishonesty> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"民政管理失信",wrapperList,CrmCivilManagementDishonesty.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "民政管理失信", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除民政管理失信", notes = "删除民政管理失信")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"民政管理失信模板");
+    }
+}
+

+ 135 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmCivilPenaltiesController.java

@@ -0,0 +1,135 @@
+package com.zksy.web.controller.basicData;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.enums.BusinessType;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmCivilPenalties;
+import com.zksy.system.basicData.service.CrmCivilPenaltiesService;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 民政管理-处罚Controller
+ *
+ * @author sy
+ * @date 2024-06-04
+ */
+@RestController
+@RequestMapping("/crmCivilPenalties")
+@Api(tags = "民政管理-处罚", description = "民政管理-处罚desc")
+public class CrmCivilPenaltiesController extends BaseController{
+
+    @Autowired
+    private CrmCivilPenaltiesService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "民政管理-处罚搜索getById")
+    public CrmCivilPenalties getById(@PathVariable String borrowId) {
+        return service.getById(borrowId);
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "民政管理-处罚分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "民政管理-处罚查询所有")
+    public List<CrmCivilPenalties> getList(String conditionJson) throws Exception {
+        return service.list(SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    /**
+     * 新增民政管理-处罚
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "民政管理-处罚新增")
+    @Log(title = "新增民政管理-处罚", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmCivilPenalties crmCivilPenalties) {
+        return service.save(crmCivilPenalties);
+    }
+
+    /**
+     * 修改民政管理-处罚
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "民政管理-处罚修改")
+    @Log(title = "修改民政管理-处罚", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmCivilPenalties crmCivilPenalties) {
+        return service.updateById(crmCivilPenalties);
+    }
+
+    /**
+     * 导入民政管理-处罚
+     */
+    @ApiOperation("民政管理-处罚导入")
+    @Log(title = "民政管理-处罚", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmCivilPenalties> crmCivilPenaltiesAll = service.list();
+            List<CrmCivilPenalties> list = ExcelUtils.readMultipartFile(file, CrmCivilPenalties.class,CrmCivilPenalties.class.getDeclaredFields().length - 2);
+            if(crmCivilPenaltiesAll != null && crmCivilPenaltiesAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("民政管理-处罚导出")
+    @Log(title = "民政管理-处罚", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmCivilPenalties> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"民政管理-处罚",wrapperList,CrmCivilPenalties.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "民政管理-处罚", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除民政管理-处罚", notes = "删除民政管理-处罚")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"民政管理-处罚模板");
+    }
+}
+

+ 136 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmCommercePenaltyController.java

@@ -0,0 +1,136 @@
+package com.zksy.web.controller.basicData;
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmCommercePenalty;
+import com.zksy.system.basicData.service.CrmCommercePenaltyService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 商务领域行政处罚信息Controller
+ *
+ * @author sy
+ * @date 2024-06-03
+ */
+@RestController
+@RequestMapping("/crmCommercePenalty")
+@Api(tags = "商务领域行政处罚信息", description = "商务领域行政处罚信息desc")
+public class CrmCommercePenaltyController extends BaseController{
+
+    @Autowired
+    private CrmCommercePenaltyService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "商务领域行政处罚信息搜索getById")
+    public CrmCommercePenalty getById(@PathVariable String borrowId) {
+        return service.getById(borrowId);
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "商务领域行政处罚信息分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "商务领域行政处罚信息查询所有")
+    public List<CrmCommercePenalty> getList(String conditionJson) throws Exception {
+        return service.list(SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    /**
+     * 新增商务领域行政处罚信息
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "商务领域行政处罚信息新增")
+    @Log(title = "新增商务领域行政处罚信息", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmCommercePenalty crmCommercePenalty) {
+        return service.save(crmCommercePenalty);
+    }
+
+    /**
+     * 修改商务领域行政处罚信息
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "商务领域行政处罚信息修改")
+    @Log(title = "修改商务领域行政处罚信息", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmCommercePenalty crmCommercePenalty) {
+        return service.updateById(crmCommercePenalty);
+    }
+
+    /**
+     * 导入商务领域行政处罚信息
+     */
+    @ApiOperation("商务领域行政处罚信息导入")
+    @Log(title = "商务领域行政处罚信息", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmCommercePenalty> crmCommercePenaltyAll = service.list();
+            List<CrmCommercePenalty> list = ExcelUtils.readMultipartFile(file, CrmCommercePenalty.class,CrmCommercePenalty.class.getDeclaredFields().length - 2);
+            if(crmCommercePenaltyAll != null && crmCommercePenaltyAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("商务领域行政处罚信息导出")
+    @Log(title = "商务领域行政处罚信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmCommercePenalty> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"商务领域行政处罚信息",wrapperList,CrmCommercePenalty.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "商务领域行政处罚信息", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除商务领域行政处罚信息", notes = "删除商务领域行政处罚信息")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"商务领域行政处罚信息模板");
+    }
+}
+

+ 105 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmComplainController.java

@@ -0,0 +1,105 @@
+package com.zksy.web.controller.basicData;
+
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.enums.BusinessType;
+import com.zksy.system.basicData.domain.CrmComplain;
+import com.zksy.system.basicData.domain.CrmFile;
+import com.zksy.system.basicData.service.CrmComplainService;
+import com.zksy.system.basicData.service.CrmFileService;
+import com.zksy.utils.SearchUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * 投诉Controller
+ *
+ * @author sy
+ * @date 2024-05-10
+ */
+@RestController
+@RequestMapping("/crmComplain")
+@Api(tags = "投诉", description = "投诉desc")
+public class CrmComplainController extends BaseController {
+
+    @Autowired
+    private CrmComplainService service;
+
+    @Autowired
+    private CrmFileService crmFileService;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "投诉搜索getById")
+    public AjaxResult getById(@PathVariable String borrowId) {
+        return AjaxResult.success(service.getByComplainId(borrowId));
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "投诉分页")
+    public Page<CrmComplain> findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        Page<CrmComplain> page = service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+        for(CrmComplain entity : page.getRecords()){
+            List<CrmFile> crmFile = crmFileService.selectByFid(entity.getId());
+            if(crmFile != null) {
+                entity.setFiles(crmFile);
+            }
+        }
+        return page;
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "投诉查询所有")
+    public AjaxResult getList(String conditionJson) throws Exception {
+        List<CrmComplain> list = service.list(SearchUtil.parseWhereSql(conditionJson));
+        for(CrmComplain entity : list){
+            List<CrmFile> crmFile = crmFileService.selectByFid(entity.getId());
+            if(crmFile != null) {
+                entity.setFiles(crmFile);
+            }
+        }
+        return AjaxResult.success(list);
+    }
+
+    /**
+     * 新增投诉
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "投诉新增")
+    @Log(title = "新增投诉", businessType = BusinessType.INSERT)
+    public AjaxResult saveCrmComplain(@RequestBody CrmComplain crmComplain) {
+        return service.saveCrmComplain(crmComplain);
+    }
+
+    /**
+     * 修改投诉
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "投诉修改")
+    @Log(title = "修改投诉", businessType = BusinessType.UPDATE)
+    public AjaxResult updateById(@RequestBody CrmComplain crmComplain) {
+        return service.updateCrmComplain(crmComplain);
+    }
+
+    @Log(title = "投诉", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除投诉", notes = "删除投诉")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return service.removeCrmComplain(ids);
+    }
+
+    @PostMapping("/generateVoucher")
+    public void generateVoucher(HttpServletResponse response,String name,Long id) throws Exception {
+        service.generateVoucher(response,name,id);
+    }
+
+}
+

+ 136 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmComplaintInfoController.java

@@ -0,0 +1,136 @@
+package com.zksy.web.controller.basicData;
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmComplaintInfo;
+import com.zksy.system.basicData.service.CrmComplaintInfoService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 企业投诉信息Controller
+ *
+ * @author sy
+ * @date 2024-06-03
+ */
+@RestController
+@RequestMapping("/crmComplaintInfo")
+@Api(tags = "企业投诉信息", description = "企业投诉信息desc")
+public class CrmComplaintInfoController extends BaseController{
+
+    @Autowired
+    private CrmComplaintInfoService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "企业投诉信息搜索getById")
+    public CrmComplaintInfo getById(@PathVariable String borrowId) {
+        return service.getById(borrowId);
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "企业投诉信息分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "企业投诉信息查询所有")
+    public List<CrmComplaintInfo> getList(String conditionJson) throws Exception {
+        return service.list(SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    /**
+     * 新增企业投诉信息
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "企业投诉信息新增")
+    @Log(title = "新增企业投诉信息", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmComplaintInfo crmComplaintInfo) {
+        return service.save(crmComplaintInfo);
+    }
+
+    /**
+     * 修改企业投诉信息
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "企业投诉信息修改")
+    @Log(title = "修改企业投诉信息", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmComplaintInfo crmComplaintInfo) {
+        return service.updateById(crmComplaintInfo);
+    }
+
+    /**
+     * 导入企业投诉信息
+     */
+    @ApiOperation("企业投诉信息导入")
+    @Log(title = "企业投诉信息", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmComplaintInfo> crmComplaintInfoAll = service.list();
+            List<CrmComplaintInfo> list = ExcelUtils.readMultipartFile(file, CrmComplaintInfo.class,CrmComplaintInfo.class.getDeclaredFields().length - 2);
+            if(crmComplaintInfoAll != null && crmComplaintInfoAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("企业投诉信息导出")
+    @Log(title = "企业投诉信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response,String conditionJson){
+        try {
+            List<CrmComplaintInfo> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"企业投诉信息",wrapperList,CrmComplaintInfo.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "企业投诉信息", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除企业投诉信息", notes = "删除企业投诉信息")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"企业投诉信息模板");
+    }
+}
+

+ 136 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmComplaintInformationController.java

@@ -0,0 +1,136 @@
+package com.zksy.web.controller.basicData;
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmComplaintInformation;
+import com.zksy.system.basicData.service.CrmComplaintInformationService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 投诉信息Controller
+ *
+ * @author sy
+ * @date 2024-06-03
+ */
+@RestController
+@RequestMapping("/crmComplaintInformation")
+@Api(tags = "投诉信息", description = "投诉信息desc")
+public class CrmComplaintInformationController extends BaseController{
+
+    @Autowired
+    private CrmComplaintInformationService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "投诉信息搜索getById")
+    public CrmComplaintInformation getById(@PathVariable String borrowId) {
+        return service.getById(borrowId);
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "投诉信息分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "投诉信息查询所有")
+    public List<CrmComplaintInformation> getList(String conditionJson) throws Exception {
+        return service.list(SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    /**
+     * 新增投诉信息
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "投诉信息新增")
+    @Log(title = "新增投诉信息", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmComplaintInformation crmComplaintInformation) {
+        return service.save(crmComplaintInformation);
+    }
+
+    /**
+     * 修改投诉信息
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "投诉信息修改")
+    @Log(title = "修改投诉信息", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmComplaintInformation crmComplaintInformation) {
+        return service.updateById(crmComplaintInformation);
+    }
+
+    /**
+     * 导入投诉信息
+     */
+    @ApiOperation("投诉信息导入")
+    @Log(title = "投诉信息", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmComplaintInformation> crmComplaintInformationAll = service.list();
+            List<CrmComplaintInformation> list = ExcelUtils.readMultipartFile(file, CrmComplaintInformation.class,CrmComplaintInformation.class.getDeclaredFields().length - 2);
+            if(crmComplaintInformationAll != null && crmComplaintInformationAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("投诉信息导出")
+    @Log(title = "投诉信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmComplaintInformation> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"投诉信息",wrapperList,CrmComplaintInformation.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "投诉信息", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除投诉信息", notes = "删除投诉信息")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"投诉信息模板");
+    }
+}
+

+ 136 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmConstructionOtherPenaltiesController.java

@@ -0,0 +1,136 @@
+package com.zksy.web.controller.basicData;
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmConstructionOtherPenalties;
+import com.zksy.system.basicData.service.CrmConstructionOtherPenaltiesService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 住建处罚-其他处罚Controller
+ *
+ * @author sy
+ * @date 2024-06-03
+ */
+@RestController
+@RequestMapping("/crmConstructionOtherPenalties")
+@Api(tags = "住建处罚-其他处罚", description = "住建处罚-其他处罚desc")
+public class CrmConstructionOtherPenaltiesController extends BaseController{
+
+    @Autowired
+    private CrmConstructionOtherPenaltiesService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "住建处罚-其他处罚搜索getById")
+    public CrmConstructionOtherPenalties getById(@PathVariable String borrowId) {
+        return service.getById(borrowId);
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "住建处罚-其他处罚分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "住建处罚-其他处罚查询所有")
+    public List<CrmConstructionOtherPenalties> getList(String conditionJson) throws Exception {
+        return service.list(SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    /**
+     * 新增住建处罚-其他处罚
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "住建处罚-其他处罚新增")
+    @Log(title = "新增住建处罚-其他处罚", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmConstructionOtherPenalties crmConstructionOtherPenalties) {
+        return service.save(crmConstructionOtherPenalties);
+    }
+
+    /**
+     * 修改住建处罚-其他处罚
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "住建处罚-其他处罚修改")
+    @Log(title = "修改住建处罚-其他处罚", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmConstructionOtherPenalties crmConstructionOtherPenalties) {
+        return service.updateById(crmConstructionOtherPenalties);
+    }
+
+    /**
+     * 导入住建处罚-其他处罚
+     */
+    @ApiOperation("住建处罚-其他处罚导入")
+    @Log(title = "住建处罚-其他处罚", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmConstructionOtherPenalties> crmConstructionOtherPenaltiesAll = service.list();
+            List<CrmConstructionOtherPenalties> list = ExcelUtils.readMultipartFile(file, CrmConstructionOtherPenalties.class,CrmConstructionOtherPenalties.class.getDeclaredFields().length - 2);
+            if(crmConstructionOtherPenaltiesAll != null && crmConstructionOtherPenaltiesAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("住建处罚-其他处罚导出")
+    @Log(title = "住建处罚-其他处罚", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmConstructionOtherPenalties> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"住建处罚-其他处罚",wrapperList,CrmConstructionOtherPenalties.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "住建处罚-其他处罚", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除住建处罚-其他处罚", notes = "删除住建处罚-其他处罚")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"住建处罚-其他处罚模板");
+    }
+}
+

+ 135 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmContractNonperformanceInfoController.java

@@ -0,0 +1,135 @@
+package com.zksy.web.controller.basicData;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.enums.BusinessType;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmContractNonperformanceInfo;
+import com.zksy.system.basicData.service.CrmContractNonperformanceInfoService;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 合同未履行信息Controller
+ *
+ * @author sy
+ * @date 2024-06-05
+ */
+@RestController
+@RequestMapping("/crmContractNonperformanceInfo")
+@Api(tags = "合同未履行信息", description = "合同未履行信息desc")
+public class CrmContractNonperformanceInfoController extends BaseController{
+
+    @Autowired
+    private CrmContractNonperformanceInfoService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "合同未履行信息搜索getById")
+    public CrmContractNonperformanceInfo getById(@PathVariable String borrowId) {
+        return service.getById(borrowId);
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "合同未履行信息分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "合同未履行信息查询所有")
+    public List<CrmContractNonperformanceInfo> getList(String conditionJson) throws Exception {
+        return service.list(SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    /**
+     * 新增合同未履行信息
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "合同未履行信息新增")
+    @Log(title = "新增合同未履行信息", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmContractNonperformanceInfo crmContractNonperformanceInfo) {
+        return service.save(crmContractNonperformanceInfo);
+    }
+
+    /**
+     * 修改合同未履行信息
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "合同未履行信息修改")
+    @Log(title = "修改合同未履行信息", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmContractNonperformanceInfo crmContractNonperformanceInfo) {
+        return service.updateById(crmContractNonperformanceInfo);
+    }
+
+    /**
+     * 导入合同未履行信息
+     */
+    @ApiOperation("合同未履行信息导入")
+    @Log(title = "合同未履行信息", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmContractNonperformanceInfo> crmContractNonperformanceInfoAll = service.list();
+            List<CrmContractNonperformanceInfo> list = ExcelUtils.readMultipartFile(file, CrmContractNonperformanceInfo.class,CrmContractNonperformanceInfo.class.getDeclaredFields().length - 2);
+            if(crmContractNonperformanceInfoAll != null && crmContractNonperformanceInfoAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("合同未履行信息导出")
+    @Log(title = "合同未履行信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmContractNonperformanceInfo> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"合同未履行信息",wrapperList,CrmContractNonperformanceInfo.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "合同未履行信息", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除合同未履行信息", notes = "删除合同未履行信息")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"合同未履行信息模板");
+    }
+}
+

+ 136 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmCorrectiveActionController.java

@@ -0,0 +1,136 @@
+package com.zksy.web.controller.basicData;
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmCorrectiveAction;
+import com.zksy.system.basicData.service.CrmCorrectiveActionService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 税务处罚-责令整改Controller
+ *
+ * @author sy
+ * @date 2024-06-03
+ */
+@RestController
+@RequestMapping("/crmCorrectiveAction")
+@Api(tags = "税务处罚-责令整改", description = "税务处罚-责令整改desc")
+public class CrmCorrectiveActionController extends BaseController{
+
+    @Autowired
+    private CrmCorrectiveActionService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "税务处罚-责令整改搜索getById")
+    public CrmCorrectiveAction getById(@PathVariable String borrowId) {
+        return service.getById(borrowId);
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "税务处罚-责令整改分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "税务处罚-责令整改查询所有")
+    public List<CrmCorrectiveAction> getList(String conditionJson) throws Exception {
+        return service.list(SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    /**
+     * 新增税务处罚-责令整改
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "税务处罚-责令整改新增")
+    @Log(title = "新增税务处罚-责令整改", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmCorrectiveAction crmCorrectiveAction) {
+        return service.save(crmCorrectiveAction);
+    }
+
+    /**
+     * 修改税务处罚-责令整改
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "税务处罚-责令整改修改")
+    @Log(title = "修改税务处罚-责令整改", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmCorrectiveAction crmCorrectiveAction) {
+        return service.updateById(crmCorrectiveAction);
+    }
+
+    /**
+     * 导入税务处罚-责令整改
+     */
+    @ApiOperation("税务处罚-责令整改导入")
+    @Log(title = "税务处罚-责令整改", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmCorrectiveAction> crmCorrectiveActionAll = service.list();
+            List<CrmCorrectiveAction> list = ExcelUtils.readMultipartFile(file, CrmCorrectiveAction.class,CrmCorrectiveAction.class.getDeclaredFields().length - 2);
+            if(crmCorrectiveActionAll != null && crmCorrectiveActionAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("税务处罚-责令整改导出")
+    @Log(title = "税务处罚-责令整改", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmCorrectiveAction> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"税务处罚-责令整改",wrapperList,CrmCorrectiveAction.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "税务处罚-责令整改", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除税务处罚-责令整改", notes = "删除税务处罚-责令整改")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"税务处罚-责令整改模板");
+    }
+}
+

+ 136 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmCreditManagementController.java

@@ -0,0 +1,136 @@
+package com.zksy.web.controller.basicData;
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmCreditManagement;
+import com.zksy.system.basicData.service.CrmCreditManagementService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 信用管理部门或岗位Controller
+ *
+ * @author sy
+ * @date 2024-06-03
+ */
+@RestController
+@RequestMapping("/crmCreditManagement")
+@Api(tags = "信用管理部门或岗位", description = "信用管理部门或岗位desc")
+public class CrmCreditManagementController extends BaseController{
+
+    @Autowired
+    private CrmCreditManagementService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "信用管理部门或岗位搜索getById")
+    public CrmCreditManagement getById(@PathVariable String borrowId) {
+        return service.getById(borrowId);
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "信用管理部门或岗位分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "信用管理部门或岗位查询所有")
+    public List<CrmCreditManagement> getList(String conditionJson) throws Exception {
+        return service.list(SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    /**
+     * 新增信用管理部门或岗位
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "信用管理部门或岗位新增")
+    @Log(title = "新增信用管理部门或岗位", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmCreditManagement crmCreditManagement) {
+        return service.save(crmCreditManagement);
+    }
+
+    /**
+     * 修改信用管理部门或岗位
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "信用管理部门或岗位修改")
+    @Log(title = "修改信用管理部门或岗位", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmCreditManagement crmCreditManagement) {
+        return service.updateById(crmCreditManagement);
+    }
+
+    /**
+     * 导入信用管理部门或岗位
+     */
+    @ApiOperation("信用管理部门或岗位导入")
+    @Log(title = "信用管理部门或岗位", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmCreditManagement> crmCreditManagementAll = service.list();
+            List<CrmCreditManagement> list = ExcelUtils.readMultipartFile(file, CrmCreditManagement.class,CrmCreditManagement.class.getDeclaredFields().length - 2);
+            if(crmCreditManagementAll != null && crmCreditManagementAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("信用管理部门或岗位导出")
+    @Log(title = "信用管理部门或岗位", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmCreditManagement> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"信用管理部门或岗位",wrapperList,CrmCreditManagement.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "信用管理部门或岗位", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除信用管理部门或岗位", notes = "删除信用管理部门或岗位")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"信用管理部门或岗位模板");
+    }
+}
+

+ 136 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmCreditRedlistInfoController.java

@@ -0,0 +1,136 @@
+package com.zksy.web.controller.basicData;
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmCreditRedlistInfo;
+import com.zksy.system.basicData.service.CrmCreditRedlistInfoService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 守信红名单信息Controller
+ *
+ * @author sy
+ * @date 2024-06-03
+ */
+@RestController
+@RequestMapping("/crmCreditRedlistInfo")
+@Api(tags = "守信红名单信息", description = "守信红名单信息desc")
+public class CrmCreditRedlistInfoController extends BaseController{
+
+    @Autowired
+    private CrmCreditRedlistInfoService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "守信红名单信息搜索getById")
+    public CrmCreditRedlistInfo getById(@PathVariable String borrowId) {
+        return service.getById(borrowId);
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "守信红名单信息分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "守信红名单信息查询所有")
+    public List<CrmCreditRedlistInfo> getList(String conditionJson) throws Exception {
+        return service.list(SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    /**
+     * 新增守信红名单信息
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "守信红名单信息新增")
+    @Log(title = "新增守信红名单信息", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmCreditRedlistInfo crmCreditRedlistInfo) {
+        return service.save(crmCreditRedlistInfo);
+    }
+
+    /**
+     * 修改守信红名单信息
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "守信红名单信息修改")
+    @Log(title = "修改守信红名单信息", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmCreditRedlistInfo crmCreditRedlistInfo) {
+        return service.updateById(crmCreditRedlistInfo);
+    }
+
+    /**
+     * 导入守信红名单信息
+     */
+    @ApiOperation("守信红名单信息导入")
+    @Log(title = "守信红名单信息", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmCreditRedlistInfo> crmCreditRedlistInfoAll = service.list();
+            List<CrmCreditRedlistInfo> list = ExcelUtils.readMultipartFile(file, CrmCreditRedlistInfo.class,CrmCreditRedlistInfo.class.getDeclaredFields().length - 2);
+            if(crmCreditRedlistInfoAll != null && crmCreditRedlistInfoAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("守信红名单信息导出")
+    @Log(title = "守信红名单信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmCreditRedlistInfo> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"守信红名单信息",wrapperList,CrmCreditRedlistInfo.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "守信红名单信息", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除守信红名单信息", notes = "删除守信红名单信息")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"守信红名单信息模板");
+    }
+}
+

+ 136 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmCriminalLitigationInformationController.java

@@ -0,0 +1,136 @@
+package com.zksy.web.controller.basicData;
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmCriminalLitigationInformation;
+import com.zksy.system.basicData.service.CrmCriminalLitigationInformationService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 刑事诉讼信息Controller
+ *
+ * @author sy
+ * @date 2024-06-03
+ */
+@RestController
+@RequestMapping("/crmCriminalLitigationInformation")
+@Api(tags = "刑事诉讼信息", description = "刑事诉讼信息desc")
+public class CrmCriminalLitigationInformationController extends BaseController{
+
+    @Autowired
+    private CrmCriminalLitigationInformationService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "刑事诉讼信息搜索getById")
+    public CrmCriminalLitigationInformation getById(@PathVariable String borrowId) {
+        return service.getById(borrowId);
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "刑事诉讼信息分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "刑事诉讼信息查询所有")
+    public List<CrmCriminalLitigationInformation> getList(String conditionJson) throws Exception {
+        return service.list(SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    /**
+     * 新增刑事诉讼信息
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "刑事诉讼信息新增")
+    @Log(title = "新增刑事诉讼信息", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmCriminalLitigationInformation crmCriminalLitigationInformation) {
+        return service.save(crmCriminalLitigationInformation);
+    }
+
+    /**
+     * 修改刑事诉讼信息
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "刑事诉讼信息修改")
+    @Log(title = "修改刑事诉讼信息", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmCriminalLitigationInformation crmCriminalLitigationInformation) {
+        return service.updateById(crmCriminalLitigationInformation);
+    }
+
+    /**
+     * 导入刑事诉讼信息
+     */
+    @ApiOperation("刑事诉讼信息导入")
+    @Log(title = "刑事诉讼信息", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmCriminalLitigationInformation> crmCriminalLitigationInformationAll = service.list();
+            List<CrmCriminalLitigationInformation> list = ExcelUtils.readMultipartFile(file, CrmCriminalLitigationInformation.class,CrmCriminalLitigationInformation.class.getDeclaredFields().length - 2);
+            if(crmCriminalLitigationInformationAll != null && crmCriminalLitigationInformationAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("刑事诉讼信息导出")
+    @Log(title = "刑事诉讼信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmCriminalLitigationInformation> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"刑事诉讼信息",wrapperList,CrmCriminalLitigationInformation.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "刑事诉讼信息", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除刑事诉讼信息", notes = "删除刑事诉讼信息")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"刑事诉讼信息模板");
+    }
+}
+

+ 137 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmCustomsCreditRatingController.java

@@ -0,0 +1,137 @@
+package com.zksy.web.controller.basicData;
+
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmCustomsCreditRating;
+import com.zksy.system.basicData.service.CrmCustomsCreditRatingService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 海关信用等级信息Controller
+ *
+ * @author sy
+ * @date 2024-05-08
+ */
+@RestController
+@RequestMapping("/crmCustomsCreditRating")
+@Api(tags = "海关信用等级信息", description = "海关信用等级信息desc")
+public class CrmCustomsCreditRatingController extends BaseController {
+
+    @Autowired
+    private CrmCustomsCreditRatingService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "海关信用等级信息搜索getById")
+    public AjaxResult getById(@PathVariable String borrowId) {
+        return AjaxResult.success(service.getById(borrowId));
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "海关信用等级信息分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "海关信用等级信息查询所有")
+    public AjaxResult getList(String conditionJson) throws Exception {
+        return AjaxResult.success(service.list(SearchUtil.parseWhereSql(conditionJson)));
+    }
+
+    /**
+     * 新增海关信用等级信息
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "海关信用等级信息新增")
+    @Log(title = "新增海关信用等级信息", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmCustomsCreditRating crmCustomsCreditRating) {
+        return service.save(crmCustomsCreditRating);
+    }
+
+    /**
+     * 修改海关信用等级信息
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "海关信用等级信息修改")
+    @Log(title = "修改海关信用等级信息", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmCustomsCreditRating crmCustomsCreditRating) {
+        return service.updateById(crmCustomsCreditRating);
+    }
+
+    /**
+     * 导入海关信用等级信息
+     */
+    @ApiOperation("海关信用等级信息导入")
+    @Log(title = "海关信用等级信息", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmCustomsCreditRating> crmCustomsCreditRatingAll = service.list();
+            List<CrmCustomsCreditRating> list = ExcelUtils.readMultipartFile(file, CrmCustomsCreditRating.class,CrmCustomsCreditRating.class.getDeclaredFields().length - 2);
+            if(crmCustomsCreditRatingAll != null && crmCustomsCreditRatingAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("海关信用等级信息导出")
+    @Log(title = "海关信用等级信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmCustomsCreditRating> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"海关信用等级信息",wrapperList,CrmCustomsCreditRating.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "海关信用等级信息", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除海关信用等级信息", notes = "删除海关信用等级信息")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"海关信用等级信息汇总模板");
+    }
+}
+

+ 136 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmCustomsRegistrationInformationController.java

@@ -0,0 +1,136 @@
+package com.zksy.web.controller.basicData;
+
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmCustomsRegistrationInformation;
+import com.zksy.system.basicData.service.CrmCustomsRegistrationInformationService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 海关注册信息Controller
+ *
+ * @author sy
+ * @date 2024-04-09
+ */
+@RestController
+@RequestMapping("/crmCustomsRegistrationInformation")
+@Api(tags = "海关注册信息", description = "海关注册信息desc")
+public class CrmCustomsRegistrationInformationController extends BaseController {
+
+    @Autowired
+    private CrmCustomsRegistrationInformationService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "海关注册信息搜索getById")
+    public AjaxResult getById(@PathVariable String borrowId) {
+        return AjaxResult.success(service.getById(borrowId));
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "海关注册信息分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "海关注册信息查询所有")
+    public AjaxResult getList(String conditionJson) throws Exception {
+        return AjaxResult.success(service.list(SearchUtil.parseWhereSql(conditionJson)));
+    }
+
+    /**
+     * 新增海关注册信息
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "海关注册信息新增")
+    @Log(title = "新增海关注册信息", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmCustomsRegistrationInformation crmCustomsRegistrationInformation) {
+        return service.save(crmCustomsRegistrationInformation);
+    }
+
+    /**
+     * 修改海关注册信息
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "海关注册信息修改")
+    @Log(title = "修改海关注册信息", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmCustomsRegistrationInformation crmCustomsRegistrationInformation) {
+        return service.updateById(crmCustomsRegistrationInformation);
+    }
+
+    /**
+     * 导入海关注册信息
+     */
+    @ApiOperation("海关注册信息导入")
+    @Log(title = "海关注册信息", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmCustomsRegistrationInformation> crmCustomsRegistrationInformationAll = service.list();
+            List<CrmCustomsRegistrationInformation> list = ExcelUtils.readMultipartFile(file, CrmCustomsRegistrationInformation.class,CrmCustomsRegistrationInformation.class.getDeclaredFields().length - 2);
+            if(crmCustomsRegistrationInformationAll != null && crmCustomsRegistrationInformationAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("海关注册信息导出")
+    @Log(title = "海关注册信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmCustomsRegistrationInformation> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"海关注册信息",wrapperList,CrmCustomsRegistrationInformation.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "海关注册信息", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除海关注册信息", notes = "删除海关注册信息")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"海关注册信息模板");
+    }
+}
+

+ 136 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmDishonestExecutorController.java

@@ -0,0 +1,136 @@
+package com.zksy.web.controller.basicData;
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmDishonestExecutor;
+import com.zksy.system.basicData.service.CrmDishonestExecutorService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 司法涉诉-失信被执行人Controller
+ *
+ * @author sy
+ * @date 2024-06-03
+ */
+@RestController
+@RequestMapping("/crmDishonestExecutor")
+@Api(tags = "司法涉诉-失信被执行人", description = "司法涉诉-失信被执行人desc")
+public class CrmDishonestExecutorController extends BaseController{
+
+    @Autowired
+    private CrmDishonestExecutorService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "司法涉诉-失信被执行人搜索getById")
+    public CrmDishonestExecutor getById(@PathVariable String borrowId) {
+        return service.getById(borrowId);
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "司法涉诉-失信被执行人分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "司法涉诉-失信被执行人查询所有")
+    public List<CrmDishonestExecutor> getList(String conditionJson) throws Exception {
+        return service.list(SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    /**
+     * 新增司法涉诉-失信被执行人
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "司法涉诉-失信被执行人新增")
+    @Log(title = "新增司法涉诉-失信被执行人", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmDishonestExecutor crmDishonestExecutor) {
+        return service.save(crmDishonestExecutor);
+    }
+
+    /**
+     * 修改司法涉诉-失信被执行人
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "司法涉诉-失信被执行人修改")
+    @Log(title = "修改司法涉诉-失信被执行人", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmDishonestExecutor crmDishonestExecutor) {
+        return service.updateById(crmDishonestExecutor);
+    }
+
+    /**
+     * 导入司法涉诉-失信被执行人
+     */
+    @ApiOperation("司法涉诉-失信被执行人导入")
+    @Log(title = "司法涉诉-失信被执行人", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmDishonestExecutor> crmDishonestExecutorAll = service.list();
+            List<CrmDishonestExecutor> list = ExcelUtils.readMultipartFile(file, CrmDishonestExecutor.class,CrmDishonestExecutor.class.getDeclaredFields().length - 2);
+            if(crmDishonestExecutorAll != null && crmDishonestExecutorAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("司法涉诉-失信被执行人导出")
+    @Log(title = "司法涉诉-失信被执行人", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmDishonestExecutor> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"司法涉诉-失信被执行人",wrapperList,CrmDishonestExecutor.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "司法涉诉-失信被执行人", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除司法涉诉-失信被执行人", notes = "删除司法涉诉-失信被执行人")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"司法涉诉-失信被执行人模板");
+    }
+}
+

+ 135 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmDomesticMarketEntityIndustryInfoController.java

@@ -0,0 +1,135 @@
+package com.zksy.web.controller.basicData;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.enums.BusinessType;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmDomesticMarketEntityIndustryInfo;
+import com.zksy.system.basicData.service.CrmDomesticMarketEntityIndustryInfoService;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 内资市场主体行业信息Controller
+ *
+ * @author sy
+ * @date 2024-06-05
+ */
+@RestController
+@RequestMapping("/crmDomesticMarketEntityIndustryInfo")
+@Api(tags = "内资市场主体行业信息", description = "内资市场主体行业信息desc")
+public class CrmDomesticMarketEntityIndustryInfoController extends BaseController{
+
+    @Autowired
+    private CrmDomesticMarketEntityIndustryInfoService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "内资市场主体行业信息搜索getById")
+    public CrmDomesticMarketEntityIndustryInfo getById(@PathVariable String borrowId) {
+        return service.getById(borrowId);
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "内资市场主体行业信息分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "内资市场主体行业信息查询所有")
+    public List<CrmDomesticMarketEntityIndustryInfo> getList(String conditionJson) throws Exception {
+        return service.list(SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    /**
+     * 新增内资市场主体行业信息
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "内资市场主体行业信息新增")
+    @Log(title = "新增内资市场主体行业信息", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmDomesticMarketEntityIndustryInfo crmDomesticMarketEntityIndustryInfo) {
+        return service.save(crmDomesticMarketEntityIndustryInfo);
+    }
+
+    /**
+     * 修改内资市场主体行业信息
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "内资市场主体行业信息修改")
+    @Log(title = "修改内资市场主体行业信息", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmDomesticMarketEntityIndustryInfo crmDomesticMarketEntityIndustryInfo) {
+        return service.updateById(crmDomesticMarketEntityIndustryInfo);
+    }
+
+    /**
+     * 导入内资市场主体行业信息
+     */
+    @ApiOperation("内资市场主体行业信息导入")
+    @Log(title = "内资市场主体行业信息", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmDomesticMarketEntityIndustryInfo> crmDomesticMarketEntityIndustryInfoAll = service.list();
+            List<CrmDomesticMarketEntityIndustryInfo> list = ExcelUtils.readMultipartFile(file, CrmDomesticMarketEntityIndustryInfo.class,CrmDomesticMarketEntityIndustryInfo.class.getDeclaredFields().length - 2);
+            if(crmDomesticMarketEntityIndustryInfoAll != null && crmDomesticMarketEntityIndustryInfoAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("内资市场主体行业信息导出")
+    @Log(title = "内资市场主体行业信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmDomesticMarketEntityIndustryInfo> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"内资市场主体行业信息",wrapperList,CrmDomesticMarketEntityIndustryInfo.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "内资市场主体行业信息", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除内资市场主体行业信息", notes = "删除内资市场主体行业信息")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"内资市场主体行业信息模板");
+    }
+}
+

+ 135 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmEmergencyOtherPenaltyController.java

@@ -0,0 +1,135 @@
+package com.zksy.web.controller.basicData;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.enums.BusinessType;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmEmergencyOtherPenalty;
+import com.zksy.system.basicData.service.CrmEmergencyOtherPenaltyService;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 应急安全监督-其他处罚信息Controller
+ *
+ * @author sy
+ * @date 2024-06-04
+ */
+@RestController
+@RequestMapping("/crmEmergencyOtherPenalty")
+@Api(tags = "应急安全监督-其他处罚信息", description = "应急安全监督-其他处罚信息desc")
+public class CrmEmergencyOtherPenaltyController extends BaseController{
+
+    @Autowired
+    private CrmEmergencyOtherPenaltyService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "应急安全监督-其他处罚信息搜索getById")
+    public CrmEmergencyOtherPenalty getById(@PathVariable String borrowId) {
+        return service.getById(borrowId);
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "应急安全监督-其他处罚信息分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "应急安全监督-其他处罚信息查询所有")
+    public List<CrmEmergencyOtherPenalty> getList(String conditionJson) throws Exception {
+        return service.list(SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    /**
+     * 新增应急安全监督-其他处罚信息
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "应急安全监督-其他处罚信息新增")
+    @Log(title = "新增应急安全监督-其他处罚信息", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmEmergencyOtherPenalty crmEmergencyOtherPenalty) {
+        return service.save(crmEmergencyOtherPenalty);
+    }
+
+    /**
+     * 修改应急安全监督-其他处罚信息
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "应急安全监督-其他处罚信息修改")
+    @Log(title = "修改应急安全监督-其他处罚信息", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmEmergencyOtherPenalty crmEmergencyOtherPenalty) {
+        return service.updateById(crmEmergencyOtherPenalty);
+    }
+
+    /**
+     * 导入应急安全监督-其他处罚信息
+     */
+    @ApiOperation("应急安全监督-其他处罚信息导入")
+    @Log(title = "应急安全监督-其他处罚信息", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmEmergencyOtherPenalty> crmEmergencyOtherPenaltyAll = service.list();
+            List<CrmEmergencyOtherPenalty> list = ExcelUtils.readMultipartFile(file, CrmEmergencyOtherPenalty.class,CrmEmergencyOtherPenalty.class.getDeclaredFields().length - 2);
+            if(crmEmergencyOtherPenaltyAll != null && crmEmergencyOtherPenaltyAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("应急安全监督-其他处罚信息导出")
+    @Log(title = "应急安全监督-其他处罚信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmEmergencyOtherPenalty> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"应急安全监督-其他处罚信息",wrapperList,CrmEmergencyOtherPenalty.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "应急安全监督-其他处罚信息", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除应急安全监督-其他处罚信息", notes = "删除应急安全监督-其他处罚信息")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"应急安全监督-其他处罚信息模板");
+    }
+}
+

+ 136 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmEnergyElectricityPenaltyController.java

@@ -0,0 +1,136 @@
+package com.zksy.web.controller.basicData;
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmEnergyElectricityPenalty;
+import com.zksy.system.basicData.service.CrmEnergyElectricityPenaltyService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 能源电力-涉电领域行政处罚信息Controller
+ *
+ * @author sy
+ * @date 2024-06-03
+ */
+@RestController
+@RequestMapping("/crmEnergyElectricityPenalty")
+@Api(tags = "能源电力-涉电领域行政处罚信息", description = "能源电力-涉电领域行政处罚信息desc")
+public class CrmEnergyElectricityPenaltyController extends BaseController{
+
+    @Autowired
+    private CrmEnergyElectricityPenaltyService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "能源电力-涉电领域行政处罚信息搜索getById")
+    public CrmEnergyElectricityPenalty getById(@PathVariable String borrowId) {
+        return service.getById(borrowId);
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "能源电力-涉电领域行政处罚信息分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "能源电力-涉电领域行政处罚信息查询所有")
+    public List<CrmEnergyElectricityPenalty> getList(String conditionJson) throws Exception {
+        return service.list(SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    /**
+     * 新增能源电力-涉电领域行政处罚信息
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "能源电力-涉电领域行政处罚信息新增")
+    @Log(title = "新增能源电力-涉电领域行政处罚信息", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmEnergyElectricityPenalty crmEnergyElectricityPenalty) {
+        return service.save(crmEnergyElectricityPenalty);
+    }
+
+    /**
+     * 修改能源电力-涉电领域行政处罚信息
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "能源电力-涉电领域行政处罚信息修改")
+    @Log(title = "修改能源电力-涉电领域行政处罚信息", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmEnergyElectricityPenalty crmEnergyElectricityPenalty) {
+        return service.updateById(crmEnergyElectricityPenalty);
+    }
+
+    /**
+     * 导入能源电力-涉电领域行政处罚信息
+     */
+    @ApiOperation("能源电力-涉电领域行政处罚信息导入")
+    @Log(title = "能源电力-涉电领域行政处罚信息", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmEnergyElectricityPenalty> crmEnergyElectricityPenaltyAll = service.list();
+            List<CrmEnergyElectricityPenalty> list = ExcelUtils.readMultipartFile(file, CrmEnergyElectricityPenalty.class,CrmEnergyElectricityPenalty.class.getDeclaredFields().length - 2);
+            if(crmEnergyElectricityPenaltyAll != null && crmEnergyElectricityPenaltyAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("能源电力-涉电领域行政处罚信息导出")
+    @Log(title = "能源电力-涉电领域行政处罚信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmEnergyElectricityPenalty> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"能源电力-涉电领域行政处罚信息",wrapperList,CrmEnergyElectricityPenalty.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "能源电力-涉电领域行政处罚信息", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除能源电力-涉电领域行政处罚信息", notes = "删除能源电力-涉电领域行政处罚信息")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"能源电力-涉电领域行政处罚信息模板");
+    }
+}
+

+ 136 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmEnterpriseCreditRatingController.java

@@ -0,0 +1,136 @@
+package com.zksy.web.controller.basicData;
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmEnterpriseCreditRating;
+import com.zksy.system.basicData.service.CrmEnterpriseCreditRatingService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 企业征信机构评分(天眼查)Controller
+ *
+ * @author sy
+ * @date 2024-06-03
+ */
+@RestController
+@RequestMapping("/crmEnterpriseCreditRating")
+@Api(tags = "企业征信机构评分(天眼查)", description = "企业征信机构评分(天眼查)desc")
+public class CrmEnterpriseCreditRatingController extends BaseController{
+
+    @Autowired
+    private CrmEnterpriseCreditRatingService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "企业征信机构评分(天眼查)搜索getById")
+    public CrmEnterpriseCreditRating getById(@PathVariable String borrowId) {
+        return service.getById(borrowId);
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "企业征信机构评分(天眼查)分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "企业征信机构评分(天眼查)查询所有")
+    public List<CrmEnterpriseCreditRating> getList(String conditionJson) throws Exception {
+        return service.list(SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    /**
+     * 新增企业征信机构评分(天眼查)
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "企业征信机构评分(天眼查)新增")
+    @Log(title = "新增企业征信机构评分(天眼查)", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmEnterpriseCreditRating crmEnterpriseCreditRating) {
+        return service.save(crmEnterpriseCreditRating);
+    }
+
+    /**
+     * 修改企业征信机构评分(天眼查)
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "企业征信机构评分(天眼查)修改")
+    @Log(title = "修改企业征信机构评分(天眼查)", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmEnterpriseCreditRating crmEnterpriseCreditRating) {
+        return service.updateById(crmEnterpriseCreditRating);
+    }
+
+    /**
+     * 导入企业征信机构评分(天眼查)
+     */
+    @ApiOperation("企业征信机构评分(天眼查)导入")
+    @Log(title = "企业征信机构评分(天眼查)", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmEnterpriseCreditRating> crmEnterpriseCreditRatingAll = service.list();
+            List<CrmEnterpriseCreditRating> list = ExcelUtils.readMultipartFile(file, CrmEnterpriseCreditRating.class,CrmEnterpriseCreditRating.class.getDeclaredFields().length - 2);
+            if(crmEnterpriseCreditRatingAll != null && crmEnterpriseCreditRatingAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("企业征信机构评分(天眼查)导出")
+    @Log(title = "企业征信机构评分(天眼查)", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmEnterpriseCreditRating> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"企业征信机构评分(天眼查)",wrapperList,CrmEnterpriseCreditRating.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "企业征信机构评分(天眼查)", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除企业征信机构评分(天眼查)", notes = "删除企业征信机构评分(天眼查)")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"企业征信机构评分(天眼查)模板");
+    }
+}
+

+ 145 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmEnterpriseElectricityFeeInfoController.java

@@ -0,0 +1,145 @@
+package com.zksy.web.controller.basicData;
+
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.TypeReference;
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmEnterpriseElectricityFeeInfo;
+import com.zksy.system.basicData.service.CrmEnterpriseElectricityFeeInfoService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.MergeReadsExcelUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 企业电费信息汇总Controller
+ *
+ * @author sy
+ * @date 2024-05-08
+ */
+@RestController
+@RequestMapping("/crmEnterpriseElectricityFeeInfo")
+@Api(tags = "企业电费信息汇总", description = "企业电费信息汇总desc")
+public class CrmEnterpriseElectricityFeeInfoController extends BaseController {
+
+    @Autowired
+    private CrmEnterpriseElectricityFeeInfoService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "企业电费信息汇总搜索getById")
+    public AjaxResult getById(@PathVariable String borrowId) {
+        return AjaxResult.success(service.getById(borrowId));
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "企业电费信息汇总分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "企业电费信息汇总查询所有")
+    public AjaxResult getList(String conditionJson) throws Exception {
+        return AjaxResult.success(service.list(SearchUtil.parseWhereSql(conditionJson)));
+    }
+
+    /**
+     * 新增企业电费信息汇总
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "企业电费信息汇总新增")
+    @Log(title = "新增企业电费信息汇总", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmEnterpriseElectricityFeeInfo crmEnterpriseElectricityFeeInfo) {
+        return service.save(crmEnterpriseElectricityFeeInfo);
+    }
+
+    /**
+     * 修改企业电费信息汇总
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "企业电费信息汇总修改")
+    @Log(title = "修改企业电费信息汇总", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmEnterpriseElectricityFeeInfo crmEnterpriseElectricityFeeInfo) {
+        return service.updateById(crmEnterpriseElectricityFeeInfo);
+    }
+
+    /**
+     * 导入企业电费信息汇总
+     */
+    @ApiOperation("企业电费信息汇总导入")
+    @Log(title = "企业电费信息汇总", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmEnterpriseElectricityFeeInfo> crmEnterpriseElectricityFeeInfoAll = service.list();
+            //List<CrmEnterpriseElectricityFeeInfo> list = ExcelUtils.readMultipartFile(file, CrmEnterpriseElectricityFeeInfo.class,CrmEnterpriseElectricityFeeInfo.class.getDeclaredFields().length - 2);
+            if(crmEnterpriseElectricityFeeInfoAll != null && crmEnterpriseElectricityFeeInfoAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            //excel单元格合并导入
+            //参数:文件, 表头列数, 是否读取序号0-读取、1-不读取, 表头占的行数下标从0开始的
+            List<Map<String,String>> list = MergeReadsExcelUtil.readExcelToObj(file, CrmEnterpriseElectricityFeeInfo.class.getDeclaredFields().length - 2,1,1,CrmEnterpriseElectricityFeeInfo.class);
+            List<CrmEnterpriseElectricityFeeInfo> crmEnterpriseElectricityFeeInfo= JSON.parseObject(JSON.toJSONString(list), new TypeReference<List<CrmEnterpriseElectricityFeeInfo>>() {});
+
+            if(list.size() > 0){
+                service.saveBatch(crmEnterpriseElectricityFeeInfo);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("企业电费信息汇总导出")
+    @Log(title = "企业电费信息汇总", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmEnterpriseElectricityFeeInfo> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"企业电费信息汇总",wrapperList,CrmEnterpriseElectricityFeeInfo.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "企业电费信息汇总", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除企业电费信息汇总", notes = "删除企业电费信息汇总")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"企业电费信息汇总模板");
+    }
+}
+

+ 144 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmEnterpriseInformationController.java

@@ -0,0 +1,144 @@
+package com.zksy.web.controller.basicData;
+
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.TypeReference;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.enums.BusinessType;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmEnterpriseInformation;
+import com.zksy.system.basicData.service.CrmEnterpriseInformationService;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.EnterpriseExcelUtil;
+import com.zksy.utils.SearchUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 企业信息Controller
+ *
+ * @author sy
+ * @date 2024-04-17
+ */
+@RestController
+@RequestMapping("/crmEnterpriseInformation")
+@Api(tags = "企业信息", description = "企业信息desc")
+public class CrmEnterpriseInformationController extends BaseController {
+
+    @Autowired
+    private CrmEnterpriseInformationService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "企业信息搜索getById")
+    public AjaxResult getById(@PathVariable String borrowId) {
+        return AjaxResult.success(service.getById(borrowId));
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "企业信息分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "企业信息查询所有")
+    public AjaxResult getList(String conditionJson) throws Exception {
+        return AjaxResult.success(service.list(SearchUtil.parseWhereSql(conditionJson)));
+    }
+
+    /**
+     * 新增企业信息
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "企业信息新增")
+    @Log(title = "新增企业信息", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmEnterpriseInformation crmEnterpriseInformation) {
+        return service.save(crmEnterpriseInformation);
+    }
+
+    /**
+     * 修改企业信息
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "企业信息修改")
+    @Log(title = "修改企业信息", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmEnterpriseInformation crmEnterpriseInformation) {
+        return service.updateById(crmEnterpriseInformation);
+    }
+
+    /**
+     * 导入企业信息
+     */
+    @ApiOperation("企业信息导入")
+    @Log(title = "企业信息", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmEnterpriseInformation> crmEnterpriseInformationAll = service.list();
+            if(crmEnterpriseInformationAll != null && crmEnterpriseInformationAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            //excel单元格合并导入
+            //参数:文件, 表头列数, 是否读取序号0-读取、1-不读取, 表头占的行数下标从0开始的
+            List<Map<String,String>> list = EnterpriseExcelUtil.readExcelToObj(file, CrmEnterpriseInformation.class.getDeclaredFields().length - 2,1,3,CrmEnterpriseInformation.class);
+            List<CrmEnterpriseInformation> accOutCaseHelpExamList= JSON.parseObject(JSON.toJSONString(list), new TypeReference<List<CrmEnterpriseInformation>>() {});
+
+            if(list.size() > 0){
+                service.saveBatch(accOutCaseHelpExamList);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("企业信息导出")
+    @Log(title = "企业信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmEnterpriseInformation> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"企业信息",wrapperList,CrmEnterpriseInformation.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "企业信息", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除企业信息", notes = "删除企业信息")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"企业信息一览表模板");
+    }
+}
+

+ 136 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmEnterpriseSocialSecurityInfoController.java

@@ -0,0 +1,136 @@
+package com.zksy.web.controller.basicData;
+
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmEnterpriseSocialSecurityInfo;
+import com.zksy.system.basicData.service.CrmEnterpriseSocialSecurityInfoService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 企业社会保险费缴纳信息Controller
+ *
+ * @author sy
+ * @date 2024-05-08
+ */
+@RestController
+@RequestMapping("/crmEnterpriseSocialSecurityInfo")
+@Api(tags = "企业社会保险费缴纳信息", description = "企业社会保险费缴纳信息desc")
+public class CrmEnterpriseSocialSecurityInfoController extends BaseController {
+
+    @Autowired
+    private CrmEnterpriseSocialSecurityInfoService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "企业社会保险费缴纳信息搜索getById")
+    public AjaxResult getById(@PathVariable String borrowId) {
+        return AjaxResult.success(service.getById(borrowId));
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "企业社会保险费缴纳信息分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "企业社会保险费缴纳信息查询所有")
+    public AjaxResult getList(String conditionJson) throws Exception {
+        return AjaxResult.success(service.list(SearchUtil.parseWhereSql(conditionJson)));
+    }
+
+    /**
+     * 新增企业社会保险费缴纳信息
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "企业社会保险费缴纳信息新增")
+    @Log(title = "新增企业社会保险费缴纳信息", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmEnterpriseSocialSecurityInfo crmEnterpriseSocialSecurityInfo) {
+        return service.save(crmEnterpriseSocialSecurityInfo);
+    }
+
+    /**
+     * 修改企业社会保险费缴纳信息
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "企业社会保险费缴纳信息修改")
+    @Log(title = "修改企业社会保险费缴纳信息", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmEnterpriseSocialSecurityInfo crmEnterpriseSocialSecurityInfo) {
+        return service.updateById(crmEnterpriseSocialSecurityInfo);
+    }
+
+    /**
+     * 导入企业社会保险费缴纳信息
+     */
+    @ApiOperation("企业社会保险费缴纳信息导入")
+    @Log(title = "企业社会保险费缴纳信息", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmEnterpriseSocialSecurityInfo> crmEnterpriseSocialSecurityInfoAll = service.list();
+            List<CrmEnterpriseSocialSecurityInfo> list = ExcelUtils.readMultipartFile(file, CrmEnterpriseSocialSecurityInfo.class,CrmEnterpriseSocialSecurityInfo.class.getDeclaredFields().length - 2);
+            if(crmEnterpriseSocialSecurityInfoAll != null && crmEnterpriseSocialSecurityInfoAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("企业社会保险费缴纳信息导出")
+    @Log(title = "企业社会保险费缴纳信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmEnterpriseSocialSecurityInfo> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"企业社会保险费缴纳信息",wrapperList,CrmEnterpriseSocialSecurityInfo.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "企业社会保险费缴纳信息", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除企业社会保险费缴纳信息", notes = "删除企业社会保险费缴纳信息")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"企业社会保险费缴纳信息模板");
+    }
+}
+

+ 144 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmEnterpriseTaxArrearsInfoController.java

@@ -0,0 +1,144 @@
+package com.zksy.web.controller.basicData;
+
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.TypeReference;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.enums.BusinessType;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmEnterpriseTaxArrearsInfo;
+import com.zksy.system.basicData.service.CrmEnterpriseTaxArrearsInfoService;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.MergeReadsExcelUtil;
+import com.zksy.utils.SearchUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 企业欠税信息Controller
+ *
+ * @author sy
+ * @date 2024-05-08
+ */
+@RestController
+@RequestMapping("/crmEnterpriseTaxArrearsInfo")
+@Api(tags = "企业欠税信息", description = "企业欠税信息desc")
+public class CrmEnterpriseTaxArrearsInfoController extends BaseController {
+
+    @Autowired
+    private CrmEnterpriseTaxArrearsInfoService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "企业欠税信息搜索getById")
+    public AjaxResult getById(@PathVariable String borrowId) {
+        return AjaxResult.success(service.getById(borrowId));
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "企业欠税信息分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "企业欠税信息查询所有")
+    public AjaxResult getList(String conditionJson) throws Exception {
+        return AjaxResult.success(service.list(SearchUtil.parseWhereSql(conditionJson)));
+    }
+
+    /**
+     * 新增企业欠税信息
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "企业欠税信息新增")
+    @Log(title = "新增企业欠税信息", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmEnterpriseTaxArrearsInfo crmEnterpriseTaxArrearsInfo) {
+        return service.save(crmEnterpriseTaxArrearsInfo);
+    }
+
+    /**
+     * 修改企业欠税信息
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "企业欠税信息修改")
+    @Log(title = "修改企业欠税信息", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmEnterpriseTaxArrearsInfo crmEnterpriseTaxArrearsInfo) {
+        return service.updateById(crmEnterpriseTaxArrearsInfo);
+    }
+
+    /**
+     * 导入企业欠税信息
+     */
+    @ApiOperation("企业欠税信息导入")
+    @Log(title = "企业欠税信息", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmEnterpriseTaxArrearsInfo> crmEnterpriseTaxArrearsInfoAll = service.list();
+            //List<CrmEnterpriseTaxArrearsInfo> list = ExcelUtils.readMultipartFile(file, CrmEnterpriseTaxArrearsInfo.class,CrmEnterpriseTaxArrearsInfo.class.getDeclaredFields().length - 2);
+            if(crmEnterpriseTaxArrearsInfoAll != null && crmEnterpriseTaxArrearsInfoAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            //excel单元格合并导入
+            //参数:文件, 表头列数, 是否读取序号0-读取、1-不读取, 表头占的行数下标从0开始的
+            List<Map<String,String>> list = MergeReadsExcelUtil.readExcelToObj(file, CrmEnterpriseTaxArrearsInfo.class.getDeclaredFields().length - 2,1,2,CrmEnterpriseTaxArrearsInfo.class);
+            List<CrmEnterpriseTaxArrearsInfo> crmEnterpriseTaxArrearsInfo= JSON.parseObject(JSON.toJSONString(list), new TypeReference<List<CrmEnterpriseTaxArrearsInfo>>() {});
+
+            if(list.size() > 0){
+                service.saveBatch(crmEnterpriseTaxArrearsInfo);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("企业欠税信息导出")
+    @Log(title = "企业欠税信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmEnterpriseTaxArrearsInfo> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"企业欠税信息",wrapperList,CrmEnterpriseTaxArrearsInfo.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "企业欠税信息", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除企业欠税信息", notes = "删除企业欠税信息")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"企业欠税信息模板");
+    }
+}
+

+ 144 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmEnterpriseTaxClassificationInfoController.java

@@ -0,0 +1,144 @@
+package com.zksy.web.controller.basicData;
+
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.TypeReference;
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmEnterpriseTaxClassificationInfo;
+import com.zksy.system.basicData.service.CrmEnterpriseTaxClassificationInfoService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.MergeReadsExcelUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 纳税信用等级信息Controller
+ *
+ * @author sy
+ * @date 2024-05-08
+ */
+@RestController
+@RequestMapping("/crmEnterpriseTaxClassificationInfo")
+@Api(tags = "纳税信用等级信息", description = "纳税信用等级信息desc")
+public class CrmEnterpriseTaxClassificationInfoController extends BaseController {
+
+    @Autowired
+    private CrmEnterpriseTaxClassificationInfoService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "纳税信用等级信息搜索getById")
+    public AjaxResult getById(@PathVariable String borrowId) {
+        return AjaxResult.success(service.getById(borrowId));
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "纳税信用等级信息分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "纳税信用等级信息查询所有")
+    public AjaxResult getList(String conditionJson) throws Exception {
+        return AjaxResult.success(service.list(SearchUtil.parseWhereSql(conditionJson)));
+    }
+
+    /**
+     * 新增纳税信用等级信息
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "纳税信用等级信息新增")
+    @Log(title = "新增纳税信用等级信息", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmEnterpriseTaxClassificationInfo crmEnterpriseTaxClassificationInfo) {
+        return service.save(crmEnterpriseTaxClassificationInfo);
+    }
+
+    /**
+     * 修改纳税信用等级信息
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "纳税信用等级信息修改")
+    @Log(title = "修改纳税信用等级信息", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmEnterpriseTaxClassificationInfo crmEnterpriseTaxClassificationInfo) {
+        return service.updateById(crmEnterpriseTaxClassificationInfo);
+    }
+
+    /**
+     * 导入纳税信用等级信息
+     */
+    @ApiOperation("纳税信用等级信息导入")
+    @Log(title = "纳税信用等级信息", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmEnterpriseTaxClassificationInfo> crmEnterpriseTaxClassificationInfoAll = service.list();
+            //List<CrmEnterpriseTaxClassificationInfo> list = ExcelUtils.readMultipartFile(file, CrmEnterpriseTaxClassificationInfo.class,CrmEnterpriseTaxClassificationInfo.class.getDeclaredFields().length - 2);
+            if(crmEnterpriseTaxClassificationInfoAll != null && crmEnterpriseTaxClassificationInfoAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            //excel单元格合并导入
+            //参数:文件, 表头列数, 是否读取序号0-读取、1-不读取, 表头占的行数下标从0开始的
+            List<Map<String,String>> list = MergeReadsExcelUtil.readExcelToObj(file, CrmEnterpriseTaxClassificationInfo.class.getDeclaredFields().length - 2,1,2,CrmEnterpriseTaxClassificationInfo.class);
+            List<CrmEnterpriseTaxClassificationInfo> crmEnterpriseTaxClassificationInfo= JSON.parseObject(JSON.toJSONString(list), new TypeReference<List<CrmEnterpriseTaxClassificationInfo>>() {});
+            if(list.size() > 0){
+                service.saveBatch(crmEnterpriseTaxClassificationInfo);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("纳税信用等级信息导出")
+    @Log(title = "纳税信用等级信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmEnterpriseTaxClassificationInfo> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"纳税信用等级信息",wrapperList,CrmEnterpriseTaxClassificationInfo.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "纳税信用等级信息", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除纳税信用等级信息", notes = "删除纳税信用等级信息")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"纳税信用等级信息模板");
+    }
+}
+

+ 144 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmEnterpriseTaxInformationController.java

@@ -0,0 +1,144 @@
+package com.zksy.web.controller.basicData;
+
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.TypeReference;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.enums.BusinessType;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmEnterpriseTaxInformation;
+import com.zksy.system.basicData.service.CrmEnterpriseTaxInformationService;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.MergeReadsExcelUtil;
+import com.zksy.utils.SearchUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 企业纳税信息Controller
+ *
+ * @author sy
+ * @date 2024-05-08
+ */
+@RestController
+@RequestMapping("/crmEnterpriseTaxInformation")
+@Api(tags = "企业纳税信息", description = "企业纳税信息desc")
+public class CrmEnterpriseTaxInformationController extends BaseController {
+
+    @Autowired
+    private CrmEnterpriseTaxInformationService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "企业纳税信息搜索getById")
+    public AjaxResult getById(@PathVariable String borrowId) {
+        return AjaxResult.success(service.getById(borrowId));
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "企业纳税信息分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "企业纳税信息查询所有")
+    public AjaxResult getList(String conditionJson) throws Exception {
+        return AjaxResult.success(service.list(SearchUtil.parseWhereSql(conditionJson)));
+    }
+
+    /**
+     * 新增企业纳税信息
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "企业纳税信息新增")
+    @Log(title = "新增企业纳税信息", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmEnterpriseTaxInformation crmEnterpriseTaxInformation) {
+        return service.save(crmEnterpriseTaxInformation);
+    }
+
+    /**
+     * 修改企业纳税信息
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "企业纳税信息修改")
+    @Log(title = "修改企业纳税信息", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmEnterpriseTaxInformation crmEnterpriseTaxInformation) {
+        return service.updateById(crmEnterpriseTaxInformation);
+    }
+
+    /**
+     * 导入企业纳税信息
+     */
+    @ApiOperation("企业纳税信息导入")
+    @Log(title = "企业纳税信息", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmEnterpriseTaxInformation> crmEnterpriseTaxInformationAll = service.list();
+            //List<CrmEnterpriseTaxInformation> list = ExcelUtils.readMultipartFile(file, CrmEnterpriseTaxInformation.class,CrmEnterpriseTaxInformation.class.getDeclaredFields().length - 2);
+            if(crmEnterpriseTaxInformationAll != null && crmEnterpriseTaxInformationAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            //excel单元格合并导入
+            //参数:文件, 表头列数, 是否读取序号0-读取、1-不读取, 表头占的行数下标从0开始的
+            List<Map<String,String>> list = MergeReadsExcelUtil.readExcelToObj(file,CrmEnterpriseTaxInformation.class.getDeclaredFields().length - 2,1,2,CrmEnterpriseTaxInformation.class);
+            List<CrmEnterpriseTaxInformation> crmEnterpriseInformation= JSON.parseObject(JSON.toJSONString(list), new TypeReference<List<CrmEnterpriseTaxInformation>>() {});
+
+            if(list.size() > 0){
+                service.saveBatch(crmEnterpriseInformation);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("企业纳税信息导出")
+    @Log(title = "企业纳税信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmEnterpriseTaxInformation> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"企业纳税信息",wrapperList,CrmEnterpriseTaxInformation.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "企业纳税信息", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除企业纳税信息", notes = "删除企业纳税信息")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"企业纳税信息模板");
+    }
+}
+

+ 147 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmEnterpriseTaxPaymentInfoController.java

@@ -0,0 +1,147 @@
+package com.zksy.web.controller.basicData;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.enums.BusinessType;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmEnterpriseTaxPaymentInfo;
+import com.zksy.system.basicData.service.CrmEnterpriseTaxPaymentInfoService;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 企业纳税信息Controller
+ *
+ * @author sy
+ * @date 2024-06-04
+ */
+@RestController
+@RequestMapping("/crmEnterpriseTaxPaymentInfo")
+@Api(tags = "企业纳税信息", description = "企业纳税信息desc")
+public class CrmEnterpriseTaxPaymentInfoController extends BaseController{
+
+    @Autowired
+    private CrmEnterpriseTaxPaymentInfoService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "企业纳税信息搜索getById")
+    public CrmEnterpriseTaxPaymentInfo getById(@PathVariable String borrowId) {
+        return service.getById(borrowId);
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "企业纳税信息分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "企业纳税信息查询所有")
+    public List<CrmEnterpriseTaxPaymentInfo> getList(String conditionJson) throws Exception {
+        return service.list(SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    /**
+     * 新增企业纳税信息
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "企业纳税信息新增")
+    @Log(title = "新增企业纳税信息", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmEnterpriseTaxPaymentInfo crmEnterpriseTaxPaymentInfo) {
+        return service.save(crmEnterpriseTaxPaymentInfo);
+    }
+
+    /**
+     * 修改企业纳税信息
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "企业纳税信息修改")
+    @Log(title = "修改企业纳税信息", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmEnterpriseTaxPaymentInfo crmEnterpriseTaxPaymentInfo) {
+        return service.updateById(crmEnterpriseTaxPaymentInfo);
+    }
+
+    /**
+     * 导入企业纳税信息
+     */
+    @ApiOperation("企业纳税信息导入")
+    @Log(title = "企业纳税信息", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmEnterpriseTaxPaymentInfo> crmEnterpriseTaxPaymentInfoAll = service.list();
+            List<CrmEnterpriseTaxPaymentInfo> list = ExcelUtils.readMultipartFile(file, CrmEnterpriseTaxPaymentInfo.class,CrmEnterpriseTaxPaymentInfo.class.getDeclaredFields().length - 2);
+            if(crmEnterpriseTaxPaymentInfoAll != null && crmEnterpriseTaxPaymentInfoAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("企业纳税信息导出")
+    @Log(title = "企业纳税信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmEnterpriseTaxPaymentInfo> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"企业纳税信息",wrapperList,CrmEnterpriseTaxPaymentInfo.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "企业纳税信息", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除企业纳税信息", notes = "删除企业纳税信息")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"企业纳税信息模板");
+    }
+
+    @GetMapping("/getListYearOrQuarter")
+    @ApiOperation(value = "获取年度税收", notes = "获取年度税收")
+    public AjaxResult getListByYear(){
+        return service.getListByYear();
+    }
+
+    @GetMapping("/getListByQuarterYoY")
+    @ApiOperation(value = "获取某个季度的同比数据", notes = "获取某个季度的同比数据")
+    public AjaxResult getListByQuarterYoY(@RequestParam("quarter") Integer quarter){
+        return service.getListByQuarterYoY(quarter);
+    }
+}
+

+ 145 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmEnterpriseTechnologyRndSummaryController.java

@@ -0,0 +1,145 @@
+package com.zksy.web.controller.basicData;
+
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.TypeReference;
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmEnterpriseTechnologyRndSummary;
+import com.zksy.system.basicData.service.CrmEnterpriseTechnologyRndSummaryService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.MergeReadsExcelUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 企业科技研发信息汇总Controller
+ *
+ * @author sy
+ * @date 2024-05-08
+ */
+@RestController
+@RequestMapping("/crmEnterpriseTechnologyRndSummary")
+@Api(tags = "企业科技研发信息汇总", description = "企业科技研发信息汇总desc")
+public class CrmEnterpriseTechnologyRndSummaryController extends BaseController {
+
+    @Autowired
+    private CrmEnterpriseTechnologyRndSummaryService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "企业科技研发信息汇总搜索getById")
+    public AjaxResult getById(@PathVariable String borrowId) {
+        return AjaxResult.success(service.getById(borrowId));
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "企业科技研发信息汇总分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "企业科技研发信息汇总查询所有")
+    public AjaxResult getList(String conditionJson) throws Exception {
+        return AjaxResult.success(service.list(SearchUtil.parseWhereSql(conditionJson)));
+    }
+
+    /**
+     * 新增企业科技研发信息汇总
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "企业科技研发信息汇总新增")
+    @Log(title = "新增企业科技研发信息汇总", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmEnterpriseTechnologyRndSummary crmEnterpriseTechnologyRndSummary) {
+        return service.save(crmEnterpriseTechnologyRndSummary);
+    }
+
+    /**
+     * 修改企业科技研发信息汇总
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "企业科技研发信息汇总修改")
+    @Log(title = "修改企业科技研发信息汇总", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmEnterpriseTechnologyRndSummary crmEnterpriseTechnologyRndSummary) {
+        return service.updateById(crmEnterpriseTechnologyRndSummary);
+    }
+
+    /**
+     * 导入企业科技研发信息汇总
+     */
+    @ApiOperation("企业科技研发信息汇总导入")
+    @Log(title = "企业科技研发信息汇总", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmEnterpriseTechnologyRndSummary> crmEnterpriseTechnologyRndSummaryAll = service.list();
+            //List<CrmEnterpriseTechnologyRndSummary> list = ExcelUtils.readMultipartFile(file, CrmEnterpriseTechnologyRndSummary.class,CrmEnterpriseTechnologyRndSummary.class.getDeclaredFields().length - 2);
+            if(crmEnterpriseTechnologyRndSummaryAll != null && crmEnterpriseTechnologyRndSummaryAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            //excel单元格合并导入
+            //参数:文件, 表头列数, 是否读取序号0-读取、1-不读取, 表头占的行数下标从0开始的
+            List<Map<String,String>> list = MergeReadsExcelUtil.readExcelToObj(file, CrmEnterpriseTechnologyRndSummary.class.getDeclaredFields().length - 2,1,2,CrmEnterpriseTechnologyRndSummary.class);
+            List<CrmEnterpriseTechnologyRndSummary> crmEnterpriseTechnologyRndSummary= JSON.parseObject(JSON.toJSONString(list), new TypeReference<List<CrmEnterpriseTechnologyRndSummary>>() {});
+
+            if(list.size() > 0){
+                service.saveBatch(crmEnterpriseTechnologyRndSummary);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("企业科技研发信息汇总导出")
+    @Log(title = "企业科技研发信息汇总", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmEnterpriseTechnologyRndSummary> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"企业科技研发信息汇总",wrapperList,CrmEnterpriseTechnologyRndSummary.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "企业科技研发信息汇总", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除企业科技研发信息汇总", notes = "删除企业科技研发信息汇总")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"企业科技研发信息模板");
+    }
+}
+

+ 164 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmEnterpriseTrademarkInformationController.java

@@ -0,0 +1,164 @@
+package com.zksy.web.controller.basicData;
+
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.enums.BusinessType;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmEnterpriseTrademarkInformation;
+import com.zksy.system.basicData.service.impl.CrmEnterpriseTrademarkInformationServiceImpl;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.net.InetAddress;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.net.UnknownHostException;
+import java.util.List;
+
+/**
+ * 企业商标信息Controller
+ *
+ * @author sy
+ * @date 2024-04-02
+ */
+@RestController
+@RequestMapping("/crmEnterpriseTrademarkInformation")
+@Api(tags = "企业商标信息", description = "企业商标信息desc")
+public class CrmEnterpriseTrademarkInformationController extends BaseController {
+    @Value("${local.fileserver.upload.path}")
+    private String localFileServerUploadDir;
+
+    @Value("${local.fileserver.mapping.path}")
+    private String localFileServerMappingPath;
+
+    @Value("${server.port}")
+    private int port;
+    @Autowired
+    private CrmEnterpriseTrademarkInformationServiceImpl service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "企业商标信息搜索getById")
+    public AjaxResult getById(@PathVariable String borrowId) {
+        return AjaxResult.success(service.getById(borrowId));
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "企业商标信息分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "企业商标信息查询所有")
+    public AjaxResult getList(String conditionJson) throws Exception {
+        return AjaxResult.success(service.list(SearchUtil.parseWhereSql(conditionJson)));
+    }
+
+    /**
+     * 新增企业商标信息
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "新增企业商标信息新增")
+    @Log(title = "新增企业商标信息", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmEnterpriseTrademarkInformation crmEnterpriseTrademarkInformation) {
+        return service.save(crmEnterpriseTrademarkInformation);
+    }
+
+    /**
+     * 修改企业商标信息
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "新增企业商标信息修改")
+    @Log(title = "修改企业商标信息", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmEnterpriseTrademarkInformation crmEnterpriseTrademarkInformation) {
+        return service.updateById(crmEnterpriseTrademarkInformation);
+    }
+
+    /**
+     * 导入企业商标信息
+     */
+    @ApiOperation("企业商标信息导入")
+    @Log(title = "企业商标信息", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmEnterpriseTrademarkInformation> crmEnterpriseTrademarkInformationAll = service.list();
+            // column 为图片所在列
+            List<CrmEnterpriseTrademarkInformation> list = ExcelUtils.readCrmEnterpriseTrademarkInformationMultipartFile(
+                    file, CrmEnterpriseTrademarkInformation.class,CrmEnterpriseTrademarkInformation.class.getDeclaredFields().length -4,4,localFileServerUploadDir,localFileServerMappingPath);
+
+            if(crmEnterpriseTrademarkInformationAll != null && crmEnterpriseTrademarkInformationAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return AjaxResult.success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("企业商标信息导出")
+    @Log(title = "企业商标信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmEnterpriseTrademarkInformation> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            wrapperList.forEach(list ->{
+                try {
+                    String ip = InetAddress.getLocalHost().getHostAddress();
+                    list.setImage(new URL("http://"+ip+":"+port+list.getTrademarkImage()));
+                } catch (MalformedURLException | UnknownHostException e) {
+                    throw new RuntimeException(e);
+                }
+            });
+            ExcelUtils.export(response, "企业商标信息", wrapperList, CrmEnterpriseTrademarkInformation.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "企业商标信息", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除企业商标信息", notes = "删除企业商标信息")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        try{
+            service.removeFileById(ids,localFileServerMappingPath,localFileServerUploadDir);
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("删除失败");
+        }
+        return AjaxResult.success("删除成功");
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"企业商标信息模板");
+    }
+}
+

+ 135 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmEnvSupervisionViolationSupervisionController.java

@@ -0,0 +1,135 @@
+package com.zksy.web.controller.basicData;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.enums.BusinessType;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmEnvSupervisionViolationSupervision;
+import com.zksy.system.basicData.service.CrmEnvSupervisionViolationSupervisionService;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 环保监管-违法督办信息Controller
+ *
+ * @author sy
+ * @date 2024-06-04
+ */
+@RestController
+@RequestMapping("/crmEnvSupervisionViolationSupervision")
+@Api(tags = "环保监管-违法督办信息", description = "环保监管-违法督办信息desc")
+public class CrmEnvSupervisionViolationSupervisionController extends BaseController{
+
+    @Autowired
+    private CrmEnvSupervisionViolationSupervisionService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "环保监管-违法督办信息搜索getById")
+    public CrmEnvSupervisionViolationSupervision getById(@PathVariable String borrowId) {
+        return service.getById(borrowId);
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "环保监管-违法督办信息分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "环保监管-违法督办信息查询所有")
+    public List<CrmEnvSupervisionViolationSupervision> getList(String conditionJson) throws Exception {
+        return service.list(SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    /**
+     * 新增环保监管-违法督办信息
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "环保监管-违法督办信息新增")
+    @Log(title = "新增环保监管-违法督办信息", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmEnvSupervisionViolationSupervision crmEnvSupervisionViolationSupervision) {
+        return service.save(crmEnvSupervisionViolationSupervision);
+    }
+
+    /**
+     * 修改环保监管-违法督办信息
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "环保监管-违法督办信息修改")
+    @Log(title = "修改环保监管-违法督办信息", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmEnvSupervisionViolationSupervision crmEnvSupervisionViolationSupervision) {
+        return service.updateById(crmEnvSupervisionViolationSupervision);
+    }
+
+    /**
+     * 导入环保监管-违法督办信息
+     */
+    @ApiOperation("环保监管-违法督办信息导入")
+    @Log(title = "环保监管-违法督办信息", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmEnvSupervisionViolationSupervision> crmEnvSupervisionViolationSupervisionAll = service.list();
+            List<CrmEnvSupervisionViolationSupervision> list = ExcelUtils.readMultipartFile(file, CrmEnvSupervisionViolationSupervision.class,CrmEnvSupervisionViolationSupervision.class.getDeclaredFields().length - 2);
+            if(crmEnvSupervisionViolationSupervisionAll != null && crmEnvSupervisionViolationSupervisionAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("环保监管-违法督办信息导出")
+    @Log(title = "环保监管-违法督办信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmEnvSupervisionViolationSupervision> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"环保监管-违法督办信息",wrapperList,CrmEnvSupervisionViolationSupervision.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "环保监管-违法督办信息", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除环保监管-违法督办信息", notes = "删除环保监管-违法督办信息")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"环保监管-违法督办信息模板");
+    }
+}
+

+ 140 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmEnvironmentalCreditEvaluationNotificationController.java

@@ -0,0 +1,140 @@
+package com.zksy.web.controller.basicData;
+
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmEnvironmentalCreditEvaluationNotification;
+import com.zksy.system.basicData.service.CrmEnvironmentalCreditEvaluationNotificationService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.text.SimpleDateFormat;
+import java.time.Instant;
+import java.time.ZoneId;
+import java.time.format.DateTimeFormatter;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 环保信用评价结果的通知Controller
+ *
+ * @author sy
+ * @date 2024-05-08
+ */
+@RestController
+@RequestMapping("/crmEnvironmentalCreditEvaluationNotification")
+@Api(tags = "环保信用评价结果的通知", description = "环保信用评价结果的通知desc")
+public class CrmEnvironmentalCreditEvaluationNotificationController extends BaseController {
+
+    @Autowired
+    private CrmEnvironmentalCreditEvaluationNotificationService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "环保信用评价结果的通知搜索getById")
+    public AjaxResult getById(@PathVariable String borrowId) {
+        return AjaxResult.success(service.getById(borrowId));
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "环保信用评价结果的通知分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "环保信用评价结果的通知查询所有")
+    public AjaxResult getList(String conditionJson) throws Exception {
+        return AjaxResult.success(service.list(SearchUtil.parseWhereSql(conditionJson)));
+    }
+
+    /**
+     * 新增环保信用评价结果的通知
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "环保信用评价结果的通知新增")
+    @Log(title = "新增环保信用评价结果的通知", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmEnvironmentalCreditEvaluationNotification crmEnvironmentalCreditEvaluationNotification) {
+        return service.save(crmEnvironmentalCreditEvaluationNotification);
+    }
+
+    /**
+     * 修改环保信用评价结果的通知
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "环保信用评价结果的通知修改")
+    @Log(title = "修改环保信用评价结果的通知", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmEnvironmentalCreditEvaluationNotification crmEnvironmentalCreditEvaluationNotification) {
+        return service.updateById(crmEnvironmentalCreditEvaluationNotification);
+    }
+    /**
+     * 导入环保信用评价结果的通知
+     */
+    @ApiOperation("环保信用评价结果的通知导入")
+    @Log(title = "环保信用评价结果的通知", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmEnvironmentalCreditEvaluationNotification> crmEnvironmentalCreditEvaluationNotificationAll = service.list();
+            List<CrmEnvironmentalCreditEvaluationNotification> list = ExcelUtils.readMultipartFile(file, CrmEnvironmentalCreditEvaluationNotification.class,CrmEnvironmentalCreditEvaluationNotification.class.getDeclaredFields().length - 2);
+            if(crmEnvironmentalCreditEvaluationNotificationAll != null && crmEnvironmentalCreditEvaluationNotificationAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("环保信用评价结果的通知导出")
+    @Log(title = "环保信用评价结果的通知", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmEnvironmentalCreditEvaluationNotification> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"环保信用评价结果的通知",wrapperList,CrmEnvironmentalCreditEvaluationNotification.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "环保信用评价结果的通知", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除环保信用评价结果的通知", notes = "删除环保信用评价结果的通知")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"环保信用评价模板");
+    }
+}
+

+ 136 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmEnvironmentalOtherPenaltiesController.java

@@ -0,0 +1,136 @@
+package com.zksy.web.controller.basicData;
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmEnvironmentalOtherPenalties;
+import com.zksy.system.basicData.service.CrmEnvironmentalOtherPenaltiesService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 环保监管-其他处罚Controller
+ *
+ * @author sy
+ * @date 2024-06-03
+ */
+@RestController
+@RequestMapping("/crmEnvironmentalOtherPenalties")
+@Api(tags = "环保监管-其他处罚", description = "环保监管-其他处罚desc")
+public class CrmEnvironmentalOtherPenaltiesController extends BaseController{
+
+    @Autowired
+    private CrmEnvironmentalOtherPenaltiesService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "环保监管-其他处罚搜索getById")
+    public CrmEnvironmentalOtherPenalties getById(@PathVariable String borrowId) {
+        return service.getById(borrowId);
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "环保监管-其他处罚分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "环保监管-其他处罚查询所有")
+    public List<CrmEnvironmentalOtherPenalties> getList(String conditionJson) throws Exception {
+        return service.list(SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    /**
+     * 新增环保监管-其他处罚
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "环保监管-其他处罚新增")
+    @Log(title = "新增环保监管-其他处罚", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmEnvironmentalOtherPenalties crmEnvironmentalOtherPenalties) {
+        return service.save(crmEnvironmentalOtherPenalties);
+    }
+
+    /**
+     * 修改环保监管-其他处罚
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "环保监管-其他处罚修改")
+    @Log(title = "修改环保监管-其他处罚", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmEnvironmentalOtherPenalties crmEnvironmentalOtherPenalties) {
+        return service.updateById(crmEnvironmentalOtherPenalties);
+    }
+
+    /**
+     * 导入环保监管-其他处罚
+     */
+    @ApiOperation("环保监管-其他处罚导入")
+    @Log(title = "环保监管-其他处罚", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmEnvironmentalOtherPenalties> crmEnvironmentalOtherPenaltiesAll = service.list();
+            List<CrmEnvironmentalOtherPenalties> list = ExcelUtils.readMultipartFile(file, CrmEnvironmentalOtherPenalties.class,CrmEnvironmentalOtherPenalties.class.getDeclaredFields().length - 2);
+            if(crmEnvironmentalOtherPenaltiesAll != null && crmEnvironmentalOtherPenaltiesAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("环保监管-其他处罚导出")
+    @Log(title = "环保监管-其他处罚", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmEnvironmentalOtherPenalties> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"环保监管-其他处罚",wrapperList,CrmEnvironmentalOtherPenalties.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "环保监管-其他处罚", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除环保监管-其他处罚", notes = "删除环保监管-其他处罚")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"环保监管-其他处罚模板");
+    }
+}
+

+ 136 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmEquityFreezeController.java

@@ -0,0 +1,136 @@
+package com.zksy.web.controller.basicData;
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmEquityFreeze;
+import com.zksy.system.basicData.service.CrmEquityFreezeService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 市场监管-股权冻结Controller
+ *
+ * @author sy
+ * @date 2024-06-03
+ */
+@RestController
+@RequestMapping("/crmEquityFreeze")
+@Api(tags = "市场监管-股权冻结", description = "市场监管-股权冻结desc")
+public class CrmEquityFreezeController extends BaseController{
+
+    @Autowired
+    private CrmEquityFreezeService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "市场监管-股权冻结搜索getById")
+    public CrmEquityFreeze getById(@PathVariable String borrowId) {
+        return service.getById(borrowId);
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "市场监管-股权冻结分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "市场监管-股权冻结查询所有")
+    public List<CrmEquityFreeze> getList(String conditionJson) throws Exception {
+        return service.list(SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    /**
+     * 新增市场监管-股权冻结
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "市场监管-股权冻结新增")
+    @Log(title = "新增市场监管-股权冻结", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmEquityFreeze crmEquityFreeze) {
+        return service.save(crmEquityFreeze);
+    }
+
+    /**
+     * 修改市场监管-股权冻结
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "市场监管-股权冻结修改")
+    @Log(title = "修改市场监管-股权冻结", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmEquityFreeze crmEquityFreeze) {
+        return service.updateById(crmEquityFreeze);
+    }
+
+    /**
+     * 导入市场监管-股权冻结
+     */
+    @ApiOperation("市场监管-股权冻结导入")
+    @Log(title = "市场监管-股权冻结", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmEquityFreeze> crmEquityFreezeAll = service.list();
+            List<CrmEquityFreeze> list = ExcelUtils.readMultipartFile(file, CrmEquityFreeze.class,CrmEquityFreeze.class.getDeclaredFields().length - 2);
+            if(crmEquityFreezeAll != null && crmEquityFreezeAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("市场监管-股权冻结导出")
+    @Log(title = "市场监管-股权冻结", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmEquityFreeze> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"市场监管-股权冻结",wrapperList,CrmEquityFreeze.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "市场监管-股权冻结", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除市场监管-股权冻结", notes = "删除市场监管-股权冻结")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"市场监管-股权冻结模板");
+    }
+}
+

+ 136 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmEquityPledgeInformationController.java

@@ -0,0 +1,136 @@
+package com.zksy.web.controller.basicData;
+
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmEquityPledgeInformation;
+import com.zksy.system.basicData.service.CrmEquityPledgeInformationService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 股权出资信息Controller
+ *
+ * @author sy
+ * @date 2024-04-09
+ */
+@RestController
+@RequestMapping("/crmEquityPledgeInformation")
+@Api(tags = "股权出资信息", description = "股权出资信息desc")
+public class CrmEquityPledgeInformationController extends BaseController {
+
+    @Autowired
+    private CrmEquityPledgeInformationService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "股权出资信息搜索getById")
+    public AjaxResult getById(@PathVariable String borrowId) {
+        return AjaxResult.success(service.getById(borrowId));
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "股权出资信息分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "股权出资信息查询所有")
+    public AjaxResult getList(String conditionJson) throws Exception {
+        return AjaxResult.success(service.list(SearchUtil.parseWhereSql(conditionJson)));
+    }
+
+    /**
+     * 新增股权出资信息
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "股权出资信息新增")
+    @Log(title = "新增股权出资信息", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmEquityPledgeInformation crmEquityPledgeInformation) {
+        return service.save(crmEquityPledgeInformation);
+    }
+
+    /**
+     * 修改股权出资信息
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "股权出资信息修改")
+    @Log(title = "修改股权出资信息", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmEquityPledgeInformation crmEquityPledgeInformation) {
+        return service.updateById(crmEquityPledgeInformation);
+    }
+
+    /**
+     * 导入股权出资信息
+     */
+    @ApiOperation("股权出资信息导入")
+    @Log(title = "股权出资信息", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmEquityPledgeInformation> crmEquityPledgeInformationAll = service.list();
+            List<CrmEquityPledgeInformation> list = ExcelUtils.readMultipartFile(file, CrmEquityPledgeInformation.class,CrmEquityPledgeInformation.class.getDeclaredFields().length - 2);
+            if(crmEquityPledgeInformationAll != null && crmEquityPledgeInformationAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("股权出资信息导出")
+    @Log(title = "股权出资信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmEquityPledgeInformation> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"股权出资信息",wrapperList,CrmEquityPledgeInformation.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "股权出资信息", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除股权出资信息", notes = "删除股权出资信息")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"股权出质信息模板");
+    }
+}
+

+ 71 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmFileController.java

@@ -0,0 +1,71 @@
+package com.zksy.web.controller.basicData;
+
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.system.basicData.domain.CrmFile;
+import com.zksy.system.basicData.service.CrmFileService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import java.util.List;
+
+/**
+ * 文件管理Controller
+ *
+ * @author sy
+ * @date 2024-05-20
+ */
+@RestController
+@RequestMapping("/crmFile")
+@Api(tags = "文件管理", description = "文件管理desc")
+public class CrmFileController extends BaseController {
+
+    @Autowired
+    private CrmFileService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "文件管理搜索getById")
+    public CrmFile getById(@PathVariable String borrowId) {
+        return service.getById(borrowId);
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "文件管理分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "文件管理根据条件查询所有")
+    public List<CrmFile> getList(String conditionJson) throws Exception {
+        return service.list(SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    /**
+     * 新增文件管理
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "文件管理新增")
+    @Log(title = "新增文件管理", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmFile crmFile) {
+        return service.save(crmFile);
+    }
+
+    /**
+     * 修改文件管理
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "文件管理修改")
+    @Log(title = "修改文件管理", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmFile crmFile) {
+        return service.updateById(crmFile);
+    }
+
+}
+

+ 136 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmFinanceSupervisionFinancialPenaltyController.java

@@ -0,0 +1,136 @@
+package com.zksy.web.controller.basicData;
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmFinanceSupervisionFinancialPenalty;
+import com.zksy.system.basicData.service.CrmFinanceSupervisionFinancialPenaltyService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 财金监管-金融监管局处罚Controller
+ *
+ * @author sy
+ * @date 2024-06-03
+ */
+@RestController
+@RequestMapping("/crmFinanceSupervisionFinancialPenalty")
+@Api(tags = "财金监管-金融监管局处罚", description = "财金监管-金融监管局处罚desc")
+public class CrmFinanceSupervisionFinancialPenaltyController extends BaseController{
+
+    @Autowired
+    private CrmFinanceSupervisionFinancialPenaltyService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "财金监管-金融监管局处罚搜索getById")
+    public CrmFinanceSupervisionFinancialPenalty getById(@PathVariable String borrowId) {
+        return service.getById(borrowId);
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "财金监管-金融监管局处罚分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "财金监管-金融监管局处罚查询所有")
+    public List<CrmFinanceSupervisionFinancialPenalty> getList(String conditionJson) throws Exception {
+        return service.list(SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    /**
+     * 新增财金监管-金融监管局处罚
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "财金监管-金融监管局处罚新增")
+    @Log(title = "新增财金监管-金融监管局处罚", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmFinanceSupervisionFinancialPenalty crmFinanceSupervisionFinancialPenalty) {
+        return service.save(crmFinanceSupervisionFinancialPenalty);
+    }
+
+    /**
+     * 修改财金监管-金融监管局处罚
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "财金监管-金融监管局处罚修改")
+    @Log(title = "修改财金监管-金融监管局处罚", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmFinanceSupervisionFinancialPenalty crmFinanceSupervisionFinancialPenalty) {
+        return service.updateById(crmFinanceSupervisionFinancialPenalty);
+    }
+
+    /**
+     * 导入财金监管-金融监管局处罚
+     */
+    @ApiOperation("财金监管-金融监管局处罚导入")
+    @Log(title = "财金监管-金融监管局处罚", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmFinanceSupervisionFinancialPenalty> crmFinanceSupervisionFinancialPenaltyAll = service.list();
+            List<CrmFinanceSupervisionFinancialPenalty> list = ExcelUtils.readMultipartFile(file, CrmFinanceSupervisionFinancialPenalty.class,CrmFinanceSupervisionFinancialPenalty.class.getDeclaredFields().length - 2);
+            if(crmFinanceSupervisionFinancialPenaltyAll != null && crmFinanceSupervisionFinancialPenaltyAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("财金监管-金融监管局处罚导出")
+    @Log(title = "财金监管-金融监管局处罚", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmFinanceSupervisionFinancialPenalty> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"财金监管-金融监管局处罚",wrapperList,CrmFinanceSupervisionFinancialPenalty.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "财金监管-金融监管局处罚", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除财金监管-金融监管局处罚", notes = "删除财金监管-金融监管局处罚")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"财金监管-金融监管局处罚模板");
+    }
+}
+

+ 136 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmFinanceSupervisionFiscalPenaltyController.java

@@ -0,0 +1,136 @@
+package com.zksy.web.controller.basicData;
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmFinanceSupervisionFiscalPenalty;
+import com.zksy.system.basicData.service.CrmFinanceSupervisionFiscalPenaltyService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 财金监管-财政行政处罚信息Controller
+ *
+ * @author sy
+ * @date 2024-06-03
+ */
+@RestController
+@RequestMapping("/crmFinanceSupervisionFiscalPenalty")
+@Api(tags = "财金监管-财政行政处罚信息", description = "财金监管-财政行政处罚信息desc")
+public class CrmFinanceSupervisionFiscalPenaltyController extends BaseController{
+
+    @Autowired
+    private CrmFinanceSupervisionFiscalPenaltyService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "财金监管-财政行政处罚信息搜索getById")
+    public CrmFinanceSupervisionFiscalPenalty getById(@PathVariable String borrowId) {
+        return service.getById(borrowId);
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "财金监管-财政行政处罚信息分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "财金监管-财政行政处罚信息查询所有")
+    public List<CrmFinanceSupervisionFiscalPenalty> getList(String conditionJson) throws Exception {
+        return service.list(SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    /**
+     * 新增财金监管-财政行政处罚信息
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "财金监管-财政行政处罚信息新增")
+    @Log(title = "新增财金监管-财政行政处罚信息", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmFinanceSupervisionFiscalPenalty crmFinanceSupervisionFiscalPenalty) {
+        return service.save(crmFinanceSupervisionFiscalPenalty);
+    }
+
+    /**
+     * 修改财金监管-财政行政处罚信息
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "财金监管-财政行政处罚信息修改")
+    @Log(title = "修改财金监管-财政行政处罚信息", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmFinanceSupervisionFiscalPenalty crmFinanceSupervisionFiscalPenalty) {
+        return service.updateById(crmFinanceSupervisionFiscalPenalty);
+    }
+
+    /**
+     * 导入财金监管-财政行政处罚信息
+     */
+    @ApiOperation("财金监管-财政行政处罚信息导入")
+    @Log(title = "财金监管-财政行政处罚信息", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmFinanceSupervisionFiscalPenalty> crmFinanceSupervisionFiscalPenaltyAll = service.list();
+            List<CrmFinanceSupervisionFiscalPenalty> list = ExcelUtils.readMultipartFile(file, CrmFinanceSupervisionFiscalPenalty.class,CrmFinanceSupervisionFiscalPenalty.class.getDeclaredFields().length - 2);
+            if(crmFinanceSupervisionFiscalPenaltyAll != null && crmFinanceSupervisionFiscalPenaltyAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("财金监管-财政行政处罚信息导出")
+    @Log(title = "财金监管-财政行政处罚信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmFinanceSupervisionFiscalPenalty> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"财金监管-财政行政处罚信息",wrapperList,CrmFinanceSupervisionFiscalPenalty.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "财金监管-财政行政处罚信息", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除财金监管-财政行政处罚信息", notes = "删除财金监管-财政行政处罚信息")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"财金监管-财政行政处罚信息模板");
+    }
+}
+

+ 136 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmFinanceSupervisionLocalPenaltyController.java

@@ -0,0 +1,136 @@
+package com.zksy.web.controller.basicData;
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmFinanceSupervisionLocalPenalty;
+import com.zksy.system.basicData.service.CrmFinanceSupervisionLocalPenaltyService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 财金监管-地方金融行政处罚信息Controller
+ *
+ * @author sy
+ * @date 2024-06-03
+ */
+@RestController
+@RequestMapping("/crmFinanceSupervisionLocalPenalty")
+@Api(tags = "财金监管-地方金融行政处罚信息", description = "财金监管-地方金融行政处罚信息desc")
+public class CrmFinanceSupervisionLocalPenaltyController extends BaseController{
+
+    @Autowired
+    private CrmFinanceSupervisionLocalPenaltyService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "财金监管-地方金融行政处罚信息搜索getById")
+    public CrmFinanceSupervisionLocalPenalty getById(@PathVariable String borrowId) {
+        return service.getById(borrowId);
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "财金监管-地方金融行政处罚信息分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "财金监管-地方金融行政处罚信息查询所有")
+    public List<CrmFinanceSupervisionLocalPenalty> getList(String conditionJson) throws Exception {
+        return service.list(SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    /**
+     * 新增财金监管-地方金融行政处罚信息
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "财金监管-地方金融行政处罚信息新增")
+    @Log(title = "新增财金监管-地方金融行政处罚信息", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmFinanceSupervisionLocalPenalty crmFinanceSupervisionLocalPenalty) {
+        return service.save(crmFinanceSupervisionLocalPenalty);
+    }
+
+    /**
+     * 修改财金监管-地方金融行政处罚信息
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "财金监管-地方金融行政处罚信息修改")
+    @Log(title = "修改财金监管-地方金融行政处罚信息", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmFinanceSupervisionLocalPenalty crmFinanceSupervisionLocalPenalty) {
+        return service.updateById(crmFinanceSupervisionLocalPenalty);
+    }
+
+    /**
+     * 导入财金监管-地方金融行政处罚信息
+     */
+    @ApiOperation("财金监管-地方金融行政处罚信息导入")
+    @Log(title = "财金监管-地方金融行政处罚信息", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmFinanceSupervisionLocalPenalty> crmFinanceSupervisionLocalPenaltyAll = service.list();
+            List<CrmFinanceSupervisionLocalPenalty> list = ExcelUtils.readMultipartFile(file, CrmFinanceSupervisionLocalPenalty.class,CrmFinanceSupervisionLocalPenalty.class.getDeclaredFields().length - 2);
+            if(crmFinanceSupervisionLocalPenaltyAll != null && crmFinanceSupervisionLocalPenaltyAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("财金监管-地方金融行政处罚信息导出")
+    @Log(title = "财金监管-地方金融行政处罚信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmFinanceSupervisionLocalPenalty> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"财金监管-地方金融行政处罚信息",wrapperList,CrmFinanceSupervisionLocalPenalty.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "财金监管-地方金融行政处罚信息", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除财金监管-地方金融行政处罚信息", notes = "删除财金监管-地方金融行政处罚信息")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"财金监管-地方金融行政处罚信息模板");
+    }
+}
+

+ 136 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmFinanceSupervisionPbcPenaltyController.java

@@ -0,0 +1,136 @@
+package com.zksy.web.controller.basicData;
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmFinanceSupervisionPbcPenalty;
+import com.zksy.system.basicData.service.CrmFinanceSupervisionPbcPenaltyService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 财金监管-人民银行行政处罚信息Controller
+ *
+ * @author sy
+ * @date 2024-06-03
+ */
+@RestController
+@RequestMapping("/crmFinanceSupervisionPbcPenalty")
+@Api(tags = "财金监管-人民银行行政处罚信息", description = "财金监管-人民银行行政处罚信息desc")
+public class CrmFinanceSupervisionPbcPenaltyController extends BaseController{
+
+    @Autowired
+    private CrmFinanceSupervisionPbcPenaltyService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "财金监管-人民银行行政处罚信息搜索getById")
+    public CrmFinanceSupervisionPbcPenalty getById(@PathVariable String borrowId) {
+        return service.getById(borrowId);
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "财金监管-人民银行行政处罚信息分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "财金监管-人民银行行政处罚信息查询所有")
+    public List<CrmFinanceSupervisionPbcPenalty> getList(String conditionJson) throws Exception {
+        return service.list(SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    /**
+     * 新增财金监管-人民银行行政处罚信息
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "财金监管-人民银行行政处罚信息新增")
+    @Log(title = "新增财金监管-人民银行行政处罚信息", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmFinanceSupervisionPbcPenalty crmFinanceSupervisionPbcPenalty) {
+        return service.save(crmFinanceSupervisionPbcPenalty);
+    }
+
+    /**
+     * 修改财金监管-人民银行行政处罚信息
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "财金监管-人民银行行政处罚信息修改")
+    @Log(title = "修改财金监管-人民银行行政处罚信息", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmFinanceSupervisionPbcPenalty crmFinanceSupervisionPbcPenalty) {
+        return service.updateById(crmFinanceSupervisionPbcPenalty);
+    }
+
+    /**
+     * 导入财金监管-人民银行行政处罚信息
+     */
+    @ApiOperation("财金监管-人民银行行政处罚信息导入")
+    @Log(title = "财金监管-人民银行行政处罚信息", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmFinanceSupervisionPbcPenalty> crmFinanceSupervisionPbcPenaltyAll = service.list();
+            List<CrmFinanceSupervisionPbcPenalty> list = ExcelUtils.readMultipartFile(file, CrmFinanceSupervisionPbcPenalty.class,CrmFinanceSupervisionPbcPenalty.class.getDeclaredFields().length - 2);
+            if(crmFinanceSupervisionPbcPenaltyAll != null && crmFinanceSupervisionPbcPenaltyAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("财金监管-人民银行行政处罚信息导出")
+    @Log(title = "财金监管-人民银行行政处罚信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmFinanceSupervisionPbcPenalty> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"财金监管-人民银行行政处罚信息",wrapperList,CrmFinanceSupervisionPbcPenalty.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "财金监管-人民银行行政处罚信息", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除财金监管-人民银行行政处罚信息", notes = "删除财金监管-人民银行行政处罚信息")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"财金监管-人民银行行政处罚信息模板");
+    }
+}
+

+ 136 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmFinancialReportController.java

@@ -0,0 +1,136 @@
+package com.zksy.web.controller.basicData;
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmFinancialReport;
+import com.zksy.system.basicData.service.CrmFinancialReportService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 财务报信息Controller
+ *
+ * @author sy
+ * @date 2024-06-03
+ */
+@RestController
+@RequestMapping("/crmFinancialReport")
+@Api(tags = "财务报信息", description = "财务报信息desc")
+public class CrmFinancialReportController extends BaseController{
+
+    @Autowired
+    private CrmFinancialReportService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "财务报信息搜索getById")
+    public CrmFinancialReport getById(@PathVariable String borrowId) {
+        return service.getById(borrowId);
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "财务报信息分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "财务报信息查询所有")
+    public List<CrmFinancialReport> getList(String conditionJson) throws Exception {
+        return service.list(SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    /**
+     * 新增财务报信息
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "财务报信息新增")
+    @Log(title = "新增财务报信息", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmFinancialReport crmFinancialReport) {
+        return service.save(crmFinancialReport);
+    }
+
+    /**
+     * 修改财务报信息
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "财务报信息修改")
+    @Log(title = "修改财务报信息", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmFinancialReport crmFinancialReport) {
+        return service.updateById(crmFinancialReport);
+    }
+
+    /**
+     * 导入财务报信息
+     */
+    @ApiOperation("财务报信息导入")
+    @Log(title = "财务报信息", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmFinancialReport> crmFinancialReportAll = service.list();
+            List<CrmFinancialReport> list = ExcelUtils.readMultipartFile(file, CrmFinancialReport.class,CrmFinancialReport.class.getDeclaredFields().length - 2);
+            if(crmFinancialReportAll != null && crmFinancialReportAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("财务报信息导出")
+    @Log(title = "财务报信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmFinancialReport> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"财务报信息",wrapperList,CrmFinancialReport.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "财务报信息", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除财务报信息", notes = "删除财务报信息")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"财务报信息模板");
+    }
+}
+

+ 135 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmFraudulentMaterialsController.java

@@ -0,0 +1,135 @@
+package com.zksy.web.controller.basicData;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.enums.BusinessType;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmFraudulentMaterials;
+import com.zksy.system.basicData.service.CrmFraudulentMaterialsService;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 虚假材料申报信息Controller
+ *
+ * @author sy
+ * @date 2024-06-17
+ */
+@RestController
+@RequestMapping("/crmFraudulentMaterials")
+@Api(tags = "虚假材料申报信息", description = "虚假材料申报信息desc")
+public class CrmFraudulentMaterialsController extends BaseController{
+
+    @Autowired
+    private CrmFraudulentMaterialsService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "虚假材料申报信息搜索getById")
+    public CrmFraudulentMaterials getById(@PathVariable String borrowId) {
+        return service.getById(borrowId);
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "虚假材料申报信息分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "虚假材料申报信息查询所有")
+    public List<CrmFraudulentMaterials> getList(String conditionJson) throws Exception {
+        return service.list(SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    /**
+     * 新增虚假材料申报信息
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "虚假材料申报信息新增")
+    @Log(title = "新增虚假材料申报信息", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmFraudulentMaterials crmFraudulentMaterials) {
+        return service.save(crmFraudulentMaterials);
+    }
+
+    /**
+     * 修改虚假材料申报信息
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "虚假材料申报信息修改")
+    @Log(title = "修改虚假材料申报信息", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmFraudulentMaterials crmFraudulentMaterials) {
+        return service.updateById(crmFraudulentMaterials);
+    }
+
+    /**
+     * 导入虚假材料申报信息
+     */
+    @ApiOperation("虚假材料申报信息导入")
+    @Log(title = "虚假材料申报信息", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmFraudulentMaterials> crmFraudulentMaterialsAll = service.list();
+            List<CrmFraudulentMaterials> list = ExcelUtils.readMultipartFile(file, CrmFraudulentMaterials.class,CrmFraudulentMaterials.class.getDeclaredFields().length - 2);
+            if(crmFraudulentMaterialsAll != null && crmFraudulentMaterialsAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("虚假材料申报信息导出")
+    @Log(title = "虚假材料申报信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmFraudulentMaterials> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"虚假材料申报信息",wrapperList,CrmFraudulentMaterials.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "虚假材料申报信息", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除虚假材料申报信息", notes = "删除虚假材料申报信息")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"虚假材料申报信息模板");
+    }
+}
+

+ 148 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmGasFeeInformationController.java

@@ -0,0 +1,148 @@
+package com.zksy.web.controller.basicData;
+
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmEnterpriseTrademarkInformation;
+import com.zksy.system.basicData.domain.CrmGasFeeInformation;
+import com.zksy.system.basicData.service.CrmGasFeeInformationService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 企业燃气费信息Controller
+ *
+ * @author sy
+ * @date 2024-05-08
+ */
+@RestController
+@RequestMapping("/crmGasFeeInformation")
+@Api(tags = "企业燃气费信息", description = "企业燃气费信息desc")
+public class CrmGasFeeInformationController extends BaseController {
+    @Value("${local.fileserver.upload.path}")
+    private String localFileServerUploadDir;
+
+    @Value("${local.fileserver.mapping.path}")
+    private String localFileServerMappingPath;
+
+    @Value("${server.port}")
+    private int port;
+    @Autowired
+    private CrmGasFeeInformationService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "企业燃气费信息搜索getById")
+    public AjaxResult getById(@PathVariable String borrowId) {
+        return AjaxResult.success(service.getById(borrowId));
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "企业燃气费信息分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "企业燃气费信息查询所有")
+    public AjaxResult getList(String conditionJson) throws Exception {
+        return AjaxResult.success(service.list(SearchUtil.parseWhereSql(conditionJson)));
+    }
+
+    /**
+     * 新增企业燃气费信息
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "企业燃气费信息新增")
+    @Log(title = "新增企业燃气费信息", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmGasFeeInformation crmGasFeeInformation) {
+        return service.save(crmGasFeeInformation);
+    }
+
+    /**
+     * 修改企业燃气费信息
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "企业燃气费信息修改")
+    @Log(title = "修改企业燃气费信息", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmGasFeeInformation crmGasFeeInformation) {
+        return service.updateById(crmGasFeeInformation);
+    }
+
+    /**
+     * 导入企业燃气费信息
+     */
+    @ApiOperation("企业燃气费信息导入")
+    @Log(title = "企业燃气费信息", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmGasFeeInformation> crmGasFeeInformationAll = service.list();
+            // column 为图片所在列
+            List<CrmGasFeeInformation> list = ExcelUtils.readCrmEnterpriseTrademarkInformationMultipartFile(
+                    file, CrmGasFeeInformation.class,CrmGasFeeInformation.class.getDeclaredFields().length -4,7,localFileServerUploadDir,localFileServerMappingPath);
+
+            if(crmGasFeeInformationAll != null && crmGasFeeInformationAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("企业燃气费信息导出")
+    @Log(title = "企业燃气费信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmGasFeeInformation> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"企业燃气费信息",wrapperList,CrmGasFeeInformation.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "企业燃气费信息", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除企业燃气费信息", notes = "删除企业燃气费信息")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"企业燃气费信息模板");
+    }
+}
+

+ 136 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmGovernmentAwardedHonorsController.java

@@ -0,0 +1,136 @@
+package com.zksy.web.controller.basicData;
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmGovernmentAwardedHonors;
+import com.zksy.system.basicData.service.CrmGovernmentAwardedHonorsService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 政府颁发的荣誉信息Controller
+ *
+ * @author sy
+ * @date 2024-06-03
+ */
+@RestController
+@RequestMapping("/crmGovernmentAwardedHonors")
+@Api(tags = "政府颁发的荣誉信息", description = "政府颁发的荣誉信息desc")
+public class CrmGovernmentAwardedHonorsController extends BaseController{
+
+    @Autowired
+    private CrmGovernmentAwardedHonorsService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "政府颁发的荣誉信息搜索getById")
+    public CrmGovernmentAwardedHonors getById(@PathVariable String borrowId) {
+        return service.getById(borrowId);
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "政府颁发的荣誉信息分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "政府颁发的荣誉信息查询所有")
+    public List<CrmGovernmentAwardedHonors> getList(String conditionJson) throws Exception {
+        return service.list(SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    /**
+     * 新增政府颁发的荣誉信息
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "政府颁发的荣誉信息新增")
+    @Log(title = "新增政府颁发的荣誉信息", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmGovernmentAwardedHonors crmGovernmentAwardedHonors) {
+        return service.save(crmGovernmentAwardedHonors);
+    }
+
+    /**
+     * 修改政府颁发的荣誉信息
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "政府颁发的荣誉信息修改")
+    @Log(title = "修改政府颁发的荣誉信息", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmGovernmentAwardedHonors crmGovernmentAwardedHonors) {
+        return service.updateById(crmGovernmentAwardedHonors);
+    }
+
+    /**
+     * 导入政府颁发的荣誉信息
+     */
+    @ApiOperation("政府颁发的荣誉信息导入")
+    @Log(title = "政府颁发的荣誉信息", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmGovernmentAwardedHonors> crmGovernmentAwardedHonorsAll = service.list();
+            List<CrmGovernmentAwardedHonors> list = ExcelUtils.readMultipartFile(file, CrmGovernmentAwardedHonors.class,CrmGovernmentAwardedHonors.class.getDeclaredFields().length - 2);
+            if(crmGovernmentAwardedHonorsAll != null && crmGovernmentAwardedHonorsAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("政府颁发的荣誉信息导出")
+    @Log(title = "政府颁发的荣誉信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmGovernmentAwardedHonors> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"政府颁发的荣誉信息",wrapperList,CrmGovernmentAwardedHonors.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "政府颁发的荣誉信息", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除政府颁发的荣誉信息", notes = "删除政府颁发的荣誉信息")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"政府颁发的荣誉信息模板");
+    }
+}
+

+ 136 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmHealthSanitationPenaltyController.java

@@ -0,0 +1,136 @@
+package com.zksy.web.controller.basicData;
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmHealthSanitationPenalty;
+import com.zksy.system.basicData.service.CrmHealthSanitationPenaltyService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 卫生健康-行政处罚Controller
+ *
+ * @author sy
+ * @date 2024-06-03
+ */
+@RestController
+@RequestMapping("/crmHealthSanitationPenalty")
+@Api(tags = "卫生健康-行政处罚", description = "卫生健康-行政处罚desc")
+public class CrmHealthSanitationPenaltyController extends BaseController{
+
+    @Autowired
+    private CrmHealthSanitationPenaltyService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "卫生健康-行政处罚搜索getById")
+    public CrmHealthSanitationPenalty getById(@PathVariable String borrowId) {
+        return service.getById(borrowId);
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "卫生健康-行政处罚分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "卫生健康-行政处罚查询所有")
+    public List<CrmHealthSanitationPenalty> getList(String conditionJson) throws Exception {
+        return service.list(SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    /**
+     * 新增卫生健康-行政处罚
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "卫生健康-行政处罚新增")
+    @Log(title = "新增卫生健康-行政处罚", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmHealthSanitationPenalty crmHealthSanitationPenalty) {
+        return service.save(crmHealthSanitationPenalty);
+    }
+
+    /**
+     * 修改卫生健康-行政处罚
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "卫生健康-行政处罚修改")
+    @Log(title = "修改卫生健康-行政处罚", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmHealthSanitationPenalty crmHealthSanitationPenalty) {
+        return service.updateById(crmHealthSanitationPenalty);
+    }
+
+    /**
+     * 导入卫生健康-行政处罚
+     */
+    @ApiOperation("卫生健康-行政处罚导入")
+    @Log(title = "卫生健康-行政处罚", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmHealthSanitationPenalty> crmHealthSanitationPenaltyAll = service.list();
+            List<CrmHealthSanitationPenalty> list = ExcelUtils.readMultipartFile(file, CrmHealthSanitationPenalty.class,CrmHealthSanitationPenalty.class.getDeclaredFields().length - 2);
+            if(crmHealthSanitationPenaltyAll != null && crmHealthSanitationPenaltyAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("卫生健康-行政处罚导出")
+    @Log(title = "卫生健康-行政处罚", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmHealthSanitationPenalty> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"卫生健康-行政处罚",wrapperList,CrmHealthSanitationPenalty.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "卫生健康-行政处罚", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除卫生健康-行政处罚", notes = "删除卫生健康-行政处罚")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"卫生健康-行政处罚模板");
+    }
+}
+

+ 180 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmHighTechZoneEnterprisesController.java

@@ -0,0 +1,180 @@
+package com.zksy.web.controller.basicData;
+
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.enums.BusinessType;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmHighTechZoneEnterprises;
+import com.zksy.system.basicData.service.CrmHighTechZoneEnterprisesService;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 高新区企业(119家)Controller
+ *
+ * @author sy
+ * @date 2024-05-06
+ */
+@RestController
+@RequestMapping("/crmHighTechZoneEnterprises")
+@Api(tags = "高新区企业(119家)", description = "高新区企业(119家)desc")
+public class CrmHighTechZoneEnterprisesController extends BaseController {
+
+    @Autowired
+    private CrmHighTechZoneEnterprisesService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "高新区企业(119家)搜索getById")
+    public AjaxResult getById(@PathVariable String borrowId) {
+        return AjaxResult.success(service.getById(borrowId));
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "高新区企业(119家)分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "高新区企业(119家)查询所有")
+    public AjaxResult getList(String conditionJson) throws Exception {
+        return AjaxResult.success(service.list(SearchUtil.parseWhereSql(conditionJson)));
+    }
+
+    @GetMapping("/getCreditScoreList")
+    @ApiOperation(value = "高新区企业(119家)查询所有企业总分")
+    public AjaxResult getCreditScoreList(@ApiParam(value = "企业信用代码",required = false) @RequestParam(value = "unifiedSocialCreditCode",defaultValue = "") String unifiedSocialCreditCode,
+                                         @ApiParam(value = "页码",required = false) @RequestParam(value = "pageNum") int pageNum,
+                                         @ApiParam(value = "页数",required = false) @RequestParam(value = "pageSize") int pageSize,
+                                         @ApiParam(value = "企业名称",required = false) @RequestParam(value = "enterpriseName",defaultValue = "") String enterpriseName,
+                                         @ApiParam(value = "评级参数",required = false) @RequestParam(value = "condition",defaultValue = "") String ... condition) {
+        return AjaxResult.success(service.creditScoreList(unifiedSocialCreditCode,enterpriseName,pageNum,pageSize,condition));
+    }
+
+    @GetMapping("/getCreditScoreListDetails")
+    @ApiOperation(value = "高新区企业(119家)查询所有企业总分详情")
+    public AjaxResult getCreditScoreListDetails(@ApiParam(value = "企业信用代码",required = false) @RequestParam(value = "unifiedSocialCreditCode") String unifiedSocialCreditCode,
+                                                @ApiParam(value = "页码",required = false) @RequestParam(value = "pageNum") int pageNum,
+                                                @ApiParam(value = "页数",required = false) @RequestParam(value = "pageSize") int pageSize,
+                                                @ApiParam(value = "企业名称",required = false) @RequestParam(value = "enterpriseName",defaultValue = "") String enterpriseName) {
+        return AjaxResult.success(service.creditScoreListDetails(unifiedSocialCreditCode,enterpriseName,pageNum,pageSize));
+    }
+    @GetMapping("/getCreditScoreMostDetailsByUniCode")
+    @ApiOperation(value = "根据统一代码查最详细的分")
+    public AjaxResult getCreditScoreListMostDetailsByUniCode(@ApiParam(value = "企业信用代码",required = true) @RequestParam(value = "unifiedSocialCreditCode") String unifiedSocialCreditCode) {
+        return service.creditScoreMostDetailsByUniCode(unifiedSocialCreditCode);
+    }
+
+
+    @GetMapping("/enterpriseDetails")
+    @ApiOperation(value = "企业明细")
+    public AjaxResult enterpriseDetails(@ApiParam(value = "企业信用代码",required = true) @RequestParam(value = "unifiedSocialCreditCode") String unifiedSocialCreditCode) {
+        return service.enterpriseDetails(unifiedSocialCreditCode);
+    }
+
+    @PostMapping("/download")
+    @ApiOperation(value = "高新区企业数据下载")
+    public AjaxResult download(@ApiParam(value = "企业信用代码",required = true) @RequestParam(value = "unifiedSocialCreditCode") String unifiedSocialCreditCode,HttpServletResponse response) {
+        return AjaxResult.success(service.download(unifiedSocialCreditCode,response));
+    }
+
+    @GetMapping("/getDeductionPoints")
+    @ApiOperation(value = "获取扣分项总数")
+    public AjaxResult getDeductionPoints() {
+        return service.getDeductionPoints();
+    }
+
+    /**
+     * 新增高新区企业(119家)
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "高新区企业(119家)新增")
+    @Log(title = "新增高新区企业(119家)", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmHighTechZoneEnterprises crmHighTechZoneEnterprises) {
+        return service.save(crmHighTechZoneEnterprises);
+    }
+
+    /**
+     * 修改高新区企业(119家)
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "高新区企业(119家)修改")
+    @Log(title = "修改高新区企业(119家)", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmHighTechZoneEnterprises crmHighTechZoneEnterprises) {
+        return service.updateById(crmHighTechZoneEnterprises);
+    }
+
+    /**
+     * 导入高新区企业(119家)
+     */
+    @ApiOperation("高新区企业(119家)导入")
+    @Log(title = "高新区企业(119家)", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmHighTechZoneEnterprises> crmHighTechZoneEnterprisesAll = service.list();
+            List<CrmHighTechZoneEnterprises> list = ExcelUtils.readMultipartFile(file, CrmHighTechZoneEnterprises.class,CrmHighTechZoneEnterprises.class.getDeclaredFields().length - 2);
+            if(crmHighTechZoneEnterprisesAll != null && crmHighTechZoneEnterprisesAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("高新区企业(119家)导出")
+    @Log(title = "高新区企业(119家)", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmHighTechZoneEnterprises> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"高新区企业(119家)",wrapperList,CrmHighTechZoneEnterprises.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "高新区企业(119家)", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除高新区企业(119家)", notes = "删除高新区企业(119家)")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"怀化高新区企业名单模板");
+    }
+}
+

+ 136 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmHouseMortgageController.java

@@ -0,0 +1,136 @@
+package com.zksy.web.controller.basicData;
+
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmHouseMortgage;
+import com.zksy.system.basicData.service.CrmHouseMortgageService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 房屋抵押信息Controller
+ *
+ * @author sy
+ * @date 2024-06-03
+ */
+@RestController
+@RequestMapping("/crmHouseMortgage")
+@Api(tags = "房屋抵押信息", description = "房屋抵押信息desc")
+public class CrmHouseMortgageController extends BaseController{
+
+    @Autowired
+    private CrmHouseMortgageService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "房屋抵押信息搜索getById")
+    public CrmHouseMortgage getById(@PathVariable String borrowId) {
+        return service.getById(borrowId);
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "房屋抵押信息分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "房屋抵押信息查询所有")
+    public List<CrmHouseMortgage> getList(String conditionJson) throws Exception {
+        return service.list(SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    /**
+     * 新增房屋抵押信息
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "房屋抵押信息新增")
+    @Log(title = "新增房屋抵押信息", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmHouseMortgage crmHouseMortgage) {
+        return service.save(crmHouseMortgage);
+    }
+
+    /**
+     * 修改房屋抵押信息
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "房屋抵押信息修改")
+    @Log(title = "修改房屋抵押信息", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmHouseMortgage crmHouseMortgage) {
+        return service.updateById(crmHouseMortgage);
+    }
+
+    /**
+     * 导入房屋抵押信息
+     */
+    @ApiOperation("房屋抵押信息导入")
+    @Log(title = "房屋抵押信息", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmHouseMortgage> crmHouseMortgageAll = service.list();
+            List<CrmHouseMortgage> list = ExcelUtils.readMultipartFile(file, CrmHouseMortgage.class,CrmHouseMortgage.class.getDeclaredFields().length - 2);
+            if(crmHouseMortgageAll != null && crmHouseMortgageAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("房屋抵押信息导出")
+    @Log(title = "房屋抵押信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmHouseMortgage> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"房屋抵押信息",wrapperList,CrmHouseMortgage.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "房屋抵押信息", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除房屋抵押信息", notes = "删除房屋抵押信息")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"房屋抵押信息模板");
+    }
+}
+

+ 135 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmHuiparkLoanAccountController.java

@@ -0,0 +1,135 @@
+package com.zksy.web.controller.basicData;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.enums.BusinessType;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmHuiparkLoanAccount;
+import com.zksy.system.basicData.service.CrmHuiparkLoanAccountService;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 惠园贷台账信息Controller
+ *
+ * @author sy
+ * @date 2024-06-03
+ */
+@RestController
+@RequestMapping("/crmHuiparkLoanAccount")
+@Api(tags = "惠园贷台账信息", description = "惠园贷台账信息desc")
+public class CrmHuiparkLoanAccountController extends BaseController{
+
+    @Autowired
+    private CrmHuiparkLoanAccountService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "惠园贷台账信息搜索getById")
+    public CrmHuiparkLoanAccount getById(@PathVariable String borrowId) {
+        return service.getById(borrowId);
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "惠园贷台账信息分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "惠园贷台账信息查询所有")
+    public List<CrmHuiparkLoanAccount> getList(String conditionJson) throws Exception {
+        return service.list(SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    /**
+     * 新增惠园贷台账信息
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "惠园贷台账信息新增")
+    @Log(title = "新增惠园贷台账信息", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmHuiparkLoanAccount crmHuiparkLoanAccount) {
+        return service.save(crmHuiparkLoanAccount);
+    }
+
+    /**
+     * 修改惠园贷台账信息
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "惠园贷台账信息修改")
+    @Log(title = "修改惠园贷台账信息", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmHuiparkLoanAccount crmHuiparkLoanAccount) {
+        return service.updateById(crmHuiparkLoanAccount);
+    }
+
+    /**
+     * 导入惠园贷台账信息
+     */
+    @ApiOperation("惠园贷台账信息导入")
+    @Log(title = "惠园贷台账信息", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmHuiparkLoanAccount> crmHuiparkLoanAccountAll = service.list();
+            List<CrmHuiparkLoanAccount> list = ExcelUtils.readMultipartFile(file, CrmHuiparkLoanAccount.class,CrmHuiparkLoanAccount.class.getDeclaredFields().length - 2);
+            if(crmHuiparkLoanAccountAll != null && crmHuiparkLoanAccountAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("惠园贷台账信息导出")
+    @Log(title = "惠园贷台账信息", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmHuiparkLoanAccount> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"惠园贷台账信息",wrapperList,CrmHuiparkLoanAccount.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "惠园贷台账信息", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除惠园贷台账信息", notes = "删除惠园贷台账信息")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"惠园贷台账信息模板");
+    }
+}
+

+ 145 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmIndustrialParkWaterUsageDetailController.java

@@ -0,0 +1,145 @@
+package com.zksy.web.controller.basicData;
+
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.TypeReference;
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmIndustrialParkWaterUsageDetail;
+import com.zksy.system.basicData.service.CrmIndustrialParkWaterUsageDetailService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.MergeReadsExcelUtil;
+import com.zksy.utils.SearchUtil;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.enums.BusinessType;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 工业园区各单位用水明细Controller
+ *
+ * @author sy
+ * @date 2024-05-08
+ */
+@RestController
+@RequestMapping("/crmIndustrialParkWaterUsageDetail")
+@Api(tags = "工业园区各单位用水明细", description = "工业园区各单位用水明细desc")
+public class CrmIndustrialParkWaterUsageDetailController extends BaseController {
+
+    @Autowired
+    private CrmIndustrialParkWaterUsageDetailService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "工业园区各单位用水明细搜索getById")
+    public AjaxResult getById(@PathVariable String borrowId) {
+        return AjaxResult.success(service.getById(borrowId));
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "工业园区各单位用水明细分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "工业园区各单位用水明细查询所有")
+    public AjaxResult getList(String conditionJson) throws Exception {
+        return AjaxResult.success(service.list(SearchUtil.parseWhereSql(conditionJson)));
+    }
+
+    /**
+     * 新增工业园区各单位用水明细
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "工业园区各单位用水明细新增")
+    @Log(title = "新增工业园区各单位用水明细", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmIndustrialParkWaterUsageDetail crmIndustrialParkWaterUsageDetail) {
+        return service.save(crmIndustrialParkWaterUsageDetail);
+    }
+
+    /**
+     * 修改工业园区各单位用水明细
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "工业园区各单位用水明细修改")
+    @Log(title = "修改工业园区各单位用水明细", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmIndustrialParkWaterUsageDetail crmIndustrialParkWaterUsageDetail) {
+        return service.updateById(crmIndustrialParkWaterUsageDetail);
+    }
+
+    /**
+     * 导入工业园区各单位用水明细
+     */
+    @ApiOperation("工业园区各单位用水明细导入")
+    @Log(title = "工业园区各单位用水明细", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmIndustrialParkWaterUsageDetail> crmIndustrialParkWaterUsageDetailAll = service.list();
+            //List<CrmIndustrialParkWaterUsageDetail> list = ExcelUtils.readMultipartFile(file, CrmIndustrialParkWaterUsageDetail.class,CrmIndustrialParkWaterUsageDetail.class.getDeclaredFields().length - 2);
+            if(crmIndustrialParkWaterUsageDetailAll != null && crmIndustrialParkWaterUsageDetailAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            //excel单元格合并导入
+            //参数:文件, 表头列数, 是否读取序号0-读取、1-不读取, 表头占的行数下标从0开始的
+            List<Map<String,String>> list = MergeReadsExcelUtil.readExcelToObj(file, CrmIndustrialParkWaterUsageDetail.class.getDeclaredFields().length - 2,1,2,CrmIndustrialParkWaterUsageDetail.class);
+            List<CrmIndustrialParkWaterUsageDetail> crmIndustrialParkWaterUsageDetail= JSON.parseObject(JSON.toJSONString(list), new TypeReference<List<CrmIndustrialParkWaterUsageDetail>>() {});
+
+            if(list.size() > 0){
+                service.saveBatch(crmIndustrialParkWaterUsageDetail);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("工业园区各单位用水明细导出")
+    @Log(title = "工业园区各单位用水明细", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmIndustrialParkWaterUsageDetail> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"工业园区各单位用水明细",wrapperList,CrmIndustrialParkWaterUsageDetail.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "工业园区各单位用水明细", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除工业园区各单位用水明细", notes = "删除工业园区各单位用水明细")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"工业园区各单位用水明细模板");
+    }
+}
+

+ 135 - 0
zksy-admin/src/main/java/com/zksy/web/controller/basicData/CrmIndustryOrganizationDisciplinePenaltyController.java

@@ -0,0 +1,135 @@
+package com.zksy.web.controller.basicData;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zksy.common.annotation.Log;
+import com.zksy.common.core.controller.BaseController;
+import com.zksy.common.core.domain.AjaxResult;
+import com.zksy.common.enums.BusinessType;
+import com.zksy.common.utils.file.ExcelUtils;
+import com.zksy.system.basicData.domain.CrmIndustryOrganizationDisciplinePenalty;
+import com.zksy.system.basicData.service.CrmIndustryOrganizationDisciplinePenaltyService;
+import com.zksy.utils.DowntemplateUtil;
+import com.zksy.utils.SearchUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 行业组织-自律处罚Controller
+ *
+ * @author sy
+ * @date 2024-06-03
+ */
+@RestController
+@RequestMapping("/crmIndustryOrganizationDisciplinePenalty")
+@Api(tags = "行业组织-自律处罚", description = "行业组织-自律处罚desc")
+public class CrmIndustryOrganizationDisciplinePenaltyController extends BaseController{
+
+    @Autowired
+    private CrmIndustryOrganizationDisciplinePenaltyService service;
+
+    @GetMapping("/getById/{borrowId}")
+    @ApiOperation(value = "行业组织-自律处罚搜索getById")
+    public CrmIndustryOrganizationDisciplinePenalty getById(@PathVariable String borrowId) {
+        return service.getById(borrowId);
+    }
+
+    @GetMapping("/findByPage")
+    @ApiOperation(value = "行业组织-自律处罚分页")
+    public Page findByPage(long pageNum, long pageSize, String conditionJson) throws Exception {
+        return service.page(new Page<>(pageNum, pageSize), SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    @GetMapping("/getList")
+    @ApiOperation(value = "行业组织-自律处罚查询所有")
+    public List<CrmIndustryOrganizationDisciplinePenalty> getList(String conditionJson) throws Exception {
+        return service.list(SearchUtil.parseWhereSql(conditionJson));
+    }
+
+    /**
+     * 新增行业组织-自律处罚
+     */
+    @PostMapping("/save")
+    @ApiOperation(value = "行业组织-自律处罚新增")
+    @Log(title = "新增行业组织-自律处罚", businessType = BusinessType.INSERT)
+    public boolean save(@RequestBody CrmIndustryOrganizationDisciplinePenalty crmIndustryOrganizationDisciplinePenalty) {
+        return service.save(crmIndustryOrganizationDisciplinePenalty);
+    }
+
+    /**
+     * 修改行业组织-自律处罚
+     */
+    @PostMapping("/updateById")
+    @ApiOperation(value = "行业组织-自律处罚修改")
+    @Log(title = "修改行业组织-自律处罚", businessType = BusinessType.UPDATE)
+    public boolean updateById(@RequestBody CrmIndustryOrganizationDisciplinePenalty crmIndustryOrganizationDisciplinePenalty) {
+        return service.updateById(crmIndustryOrganizationDisciplinePenalty);
+    }
+
+    /**
+     * 导入行业组织-自律处罚
+     */
+    @ApiOperation("行业组织-自律处罚导入")
+    @Log(title = "行业组织-自律处罚", businessType = BusinessType.IMPORT)
+    @PostMapping("/importData")
+    public AjaxResult importData(MultipartFile file)
+    {
+        try {
+            List<CrmIndustryOrganizationDisciplinePenalty> crmIndustryOrganizationDisciplinePenaltyAll = service.list();
+            List<CrmIndustryOrganizationDisciplinePenalty> list = ExcelUtils.readMultipartFile(file, CrmIndustryOrganizationDisciplinePenalty.class,CrmIndustryOrganizationDisciplinePenalty.class.getDeclaredFields().length - 2);
+            if(crmIndustryOrganizationDisciplinePenaltyAll != null && crmIndustryOrganizationDisciplinePenaltyAll.size() > 0){
+                //return AjaxResult.error("数据已存在,如需重新导入请清空数据");
+            }
+            if(list.size() > 0){
+                service.saveBatch(list);
+                return success("导入成功,共计:"+list.size()+"条");
+            }else{
+                return AjaxResult.error("无数据");
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导入数据失败");
+        }
+    }
+
+    @ApiOperation("行业组织-自律处罚导出")
+    @Log(title = "行业组织-自律处罚", businessType = BusinessType.EXPORT)
+    @PostMapping("/exportData")
+    public AjaxResult exportData(HttpServletResponse response, String conditionJson){
+        try {
+            List<CrmIndustryOrganizationDisciplinePenalty> wrapperList = service.list(SearchUtil.parseWhereSql(conditionJson));
+            ExcelUtils.export(response,"行业组织-自律处罚",wrapperList,CrmIndustryOrganizationDisciplinePenalty.class);
+            return AjaxResult.success("导出数据成功");
+        }catch (Exception e){
+            e.printStackTrace();
+            return AjaxResult.error("导出数据失败");
+        }
+    }
+
+    @Log(title = "行业组织-自律处罚", businessType = BusinessType.DELETE)
+    @PostMapping("/delete")
+    @ApiOperation(value = "删除行业组织-自律处罚", notes = "删除行业组织-自律处罚")
+    public AjaxResult delete(@RequestBody List<String> ids)
+    {
+        return toAjax(service.removeByIds(ids));
+    }
+
+    @DeleteMapping("/deleteAll")
+    @ApiOperation(value = "清除数据", notes = "清除数据")
+    public AjaxResult deleteAll(){
+        return service.deleteAll();
+    }
+
+    @PostMapping("/getUploadTemplate")
+    @ApiOperation(value = "获取上传模板", notes = "获取上传模板")
+    public void getUploadTemplate(HttpServletResponse response) throws IOException {
+        DowntemplateUtil.downloadTemplate(response,"行业组织-自律处罚模板");
+    }
+}
+

Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini