Browse Source

1.提交yml明文参数加密

2.添加企业所属行业按钮
3.添加分析管理导出
v2
chenrui 2 years ago
parent
commit
0403a6f17c
  1. 28
      lib/EmergencyBaseLib/EmergencyCommon/src/main/java/com/zdxt/common/annotation/ExcelExport.java
  2. 31
      lib/EmergencyBaseLib/EmergencyCommon/src/main/java/com/zdxt/common/annotation/ExcelImport.java
  3. 78
      lib/EmergencyBaseLib/EmergencyCommon/src/main/java/com/zdxt/common/domain/ExcelClassField.java
  4. 1010
      lib/EmergencyBaseLib/EmergencyCommon/src/main/java/com/zdxt/common/util/ExcelUtils.java
  5. 24
      lib/EmergencyBaseLib/EmergencyCommon/src/main/java/com/zdxt/common/util/jasypt/CustomEncryptorConfig.java
  6. 57
      lib/EmergencyBaseLib/EmergencyCommon/src/main/java/com/zdxt/common/util/jasypt/JasyptUtils.java
  7. 5
      lib/EmergencyBaseLib/pom.xml
  8. 6
      lib/EmergencyService/pom.xml
  9. 16
      lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/config/JasyptConfig.java
  10. 2
      lib/EmergencyService/zdxtEmergencyBootStart/src/main/java/com/zdxt/RuoYiApplication.java
  11. 112
      lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/application-dev.yml
  12. 23
      lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/application-druid.yml
  13. 98
      lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/application-pro.yml
  14. 76
      lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/application.yml
  15. 27
      lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/code/analysis/analysis.html
  16. 55
      lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/code/analysis/analysisModel.html
  17. 39
      lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/code/information/editIndustry.html
  18. 11
      lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/code/information/information.html
  19. 23
      lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/controller/EnterpriseInformationController.java
  20. 19
      lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/controller/StatisticalController.java
  21. 13
      lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/domain/EnterpriseInformation.java
  22. 34
      lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/domain/EnterpriseRankExcel.java
  23. 31
      lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/domain/LawEnforcerExcel.java
  24. 18
      lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/domain/StatisticalVo.java
  25. 8
      lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/IEnterpriseInformationService.java
  26. 12
      lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/StatisticalService.java
  27. 6
      lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/EnterpriseInformationServiceImpl.java
  28. 33
      lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/StatisticalServiceImpl.java
  29. 10
      lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/resources/mapper/EnterpriseInformationMapper.xml

28
lib/EmergencyBaseLib/EmergencyCommon/src/main/java/com/zdxt/common/annotation/ExcelExport.java

@ -0,0 +1,28 @@
package com.zdxt.common.annotation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* @author sunnyzyq
* @date 2021/12/17
*/
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface ExcelExport {
/** 字段名称 */
String value();
/** 导出排序先后: 数字越小越靠前(默认按Java类字段顺序导出) */
int sort() default 0;
/** 导出映射,格式如:0-未知;1-男;2-女 */
String kv() default "";
/** 导出模板示例值(有值的话,直接取该值,不做映射) */
String example() default "";
}

31
lib/EmergencyBaseLib/EmergencyCommon/src/main/java/com/zdxt/common/annotation/ExcelImport.java

@ -0,0 +1,31 @@
package com.zdxt.common.annotation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* @author sunnyzyq
* @date 2021/12/17
*/
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface ExcelImport {
/** 字段名称 */
String value();
/** 导出映射,格式如:0-未知;1-男;2-女 */
String kv() default "";
/** 是否为必填字段(默认为非必填) */
boolean required() default false;
/** 最大长度(默认255) */
int maxLength() default 255;
/** 导入唯一性验证(多个字段则取联合验证) */
boolean unique() default false;
}

78
lib/EmergencyBaseLib/EmergencyCommon/src/main/java/com/zdxt/common/domain/ExcelClassField.java

@ -0,0 +1,78 @@
package com.zdxt.common.domain;
import java.util.LinkedHashMap;
/**
* @author sunnyzyq
* @date 2021/12/17
*/
public class ExcelClassField {
/** 字段名称 */
private String fieldName;
/** 表头名称 */
private String name;
/** 映射关系 */
private LinkedHashMap<String, String> kvMap;
/** 示例值 */
private Object example;
/** 排序 */
private int sort;
/** 是否为注解字段:0-否,1-是 */
private int hasAnnotation;
public String getFieldName() {
return fieldName;
}
public void setFieldName(String fieldName) {
this.fieldName = fieldName;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public LinkedHashMap<String, String> getKvMap() {
return kvMap;
}
public void setKvMap(LinkedHashMap<String, String> kvMap) {
this.kvMap = kvMap;
}
public Object getExample() {
return example;
}
public void setExample(Object example) {
this.example = example;
}
public int getSort() {
return sort;
}
public void setSort(int sort) {
this.sort = sort;
}
public int getHasAnnotation() {
return hasAnnotation;
}
public void setHasAnnotation(int hasAnnotation) {
this.hasAnnotation = hasAnnotation;
}
}

1010
lib/EmergencyBaseLib/EmergencyCommon/src/main/java/com/zdxt/common/util/ExcelUtils.java

File diff suppressed because it is too large

24
lib/EmergencyBaseLib/EmergencyCommon/src/main/java/com/zdxt/common/util/jasypt/CustomEncryptorConfig.java

@ -0,0 +1,24 @@
package com.zdxt.common.util.jasypt;
import org.jasypt.encryption.StringEncryptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
public class CustomEncryptorConfig implements StringEncryptor {
/**
* 加密解密的 密钥
*/
private String crack = "ATPfOhpnAVp6yBas7RU";
@Override
public String encrypt(String s) {
return JasyptUtils.encryptWithMD5(s,crack);
}
@Override
public String decrypt(String s) {
return JasyptUtils.decryptWithMD5(s,crack);
}
}

57
lib/EmergencyBaseLib/EmergencyCommon/src/main/java/com/zdxt/common/util/jasypt/JasyptUtils.java

@ -0,0 +1,57 @@
package com.zdxt.common.util.jasypt;
import org.jasypt.encryption.pbe.StandardPBEStringEncryptor;
import org.jasypt.encryption.pbe.config.EnvironmentStringPBEConfig;
/**
* alibaba druid加解密规则:
* 明文密码+私钥(privateKey)加密=加密密码
* 加密密码+公钥(publicKey)解密=明文密码
*/
public final class JasyptUtils {
/**
* 加密算法
*/
private static final String PBEWITHMD5ANDDES = "PBEWithMD5AndDES";
/**
* @param text 待加密原文
* @param crack 盐值(密钥)
* @return 加密后的字符串
* @Description: Jasypt加密(PBEWithMD5AndDES)
*/
public static String encryptWithMD5(String text, String crack) {
//1.创建加解密工具实例
StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor();
//2.加解密配置
EnvironmentStringPBEConfig config = new EnvironmentStringPBEConfig();
config.setAlgorithm(PBEWITHMD5ANDDES);
config.setPassword(crack);
encryptor.setConfig(config);
//3.加密
return encryptor.encrypt(text);
}
/**
* @param text 待解密原文
* @param crack 盐值(密钥)
* @return 解密后的字符串
* @Description: Jasypt解密(PBEWithMD5AndDES)
*/
public static String decryptWithMD5(String text, String crack) {
StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor();
EnvironmentStringPBEConfig config = new EnvironmentStringPBEConfig();
config.setAlgorithm(PBEWITHMD5ANDDES);
config.setPassword(crack);
encryptor.setConfig(config);
return encryptor.decrypt(text);
}
public static void main(String[] args) {
// String s = encryptWithMD5("明文", "密钥");
// System.out.println(s);
String channelcs1 = decryptWithMD5("szsf@zfjd", "ATPfOhpnAVp6yBas7RU");
System.out.println(channelcs1);
}
}

5
lib/EmergencyBaseLib/pom.xml

@ -201,6 +201,11 @@
<artifactId>spring-boot-starter-data-redis</artifactId>
<version>2.2.13.RELEASE</version>
</dependency>
<dependency>
<groupId>org.jasypt</groupId>
<artifactId>jasypt</artifactId>
<version>1.9.2</version>
</dependency>
</dependencies>
<build>
<plugins>

6
lib/EmergencyService/pom.xml

@ -478,7 +478,11 @@
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>2.1.2</version>
</dependency>
<!-- <dependency>-->
<!-- <groupId>EmergencyXxlJob</groupId>-->
<!-- <artifactId>xxl-job-core</artifactId>-->

16
lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/config/JasyptConfig.java

@ -0,0 +1,16 @@
package com.zdxt.auth.framework.config;
import com.zdxt.common.util.jasypt.CustomEncryptorConfig;
import org.jasypt.encryption.StringEncryptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class JasyptConfig {
@Bean(name = "jasyptStringEncryptor")
public StringEncryptor stringEncryptor() {
return new CustomEncryptorConfig();
}
}

2
lib/EmergencyService/zdxtEmergencyBootStart/src/main/java/com/zdxt/RuoYiApplication.java

@ -1,5 +1,6 @@
package com.zdxt;
import com.ulisesbocchio.jasyptspringboot.annotation.EnableEncryptableProperties;
import lombok.extern.slf4j.Slf4j;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
@ -16,6 +17,7 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
@MapperScan(value = {"com.zdxt.**.mapper"})
@EnableTransactionManagement
@EnableEncryptableProperties
public class RuoYiApplication {
public static void main(String[] args) {
// System.setProperty("spring.devtools.restart.enabled", "false");

112
lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/application-dev.yml

@ -0,0 +1,112 @@
# Spring配置
spring:
# redis配置
redis:
database: 0
# host: 10.76.108.1
# port: 6379
# password: zfjd@123
host: 43.136.51.161
port: 6379
password: meiyoumima
timeout: 6000ms # 连接超时时长(毫秒)
lettuce:
pool:
max-active: 10 # 连接池最大连接数(使用负值表示没有限制)
max-wait: -1ms # 连接池最大阻塞等待时间(使用负值表示没有限制)
max-idle: 3 # 连接池中的最大空闲连接
min-idle: 2 # 连接池中的最小空闲连接
xxl:
job:
status: false #启用状态 false 关闭
accessToken: default_token
admin:
addresses: http://127.0.0.1:8080/xxl-job-admin #注册地址
executor:
address: ''
appname: zdxt #系统标识名称
ip: ''
logpath: /data/applogs/xxl-job/jobhandler
logretentiondays: -1
port: 9999
allowed:
servernames: 10.76.108.1,10.76.108.3,10.132.108.3,jdm.szssfj.cn,58.250.157.161,127.0.0.1,localhost,192.168.31.146
excel:
export: true
import: true
# 粤政易对接令牌信息
yzy:
yzyUrl: http://50.9.11.153
corpid: 123456
corpsecret: 88761
paasid: 123
#qr_code_url: C:\ruoyi\uploadPath\zfjd_logo.png
qr_code_url: /usr/local/uploads/zfjd_logo.png
#qr_code_url: /Users/kylin_stone/Workspaces/uploads/zfjd_logo.png
#深i企对接密钥 测试环境
siq:
#正式
# siqUrl: http://10.76.108.3/siqApi
# code: zfjdm
# secretKey: SXRpWEhVN3RHM3ZFbzRQcQ==
#测试
siqUrl: http://egbpub.siqhz.com/egb/api/thirdauth
code: zfjdm
secretKey: eWIzY3BMRVNEQXhvUUlXMA==
#深圳易平台对接密钥
szypt:
#正式
# agentid: 1000015
# url: https://zwwx-hlht.sz.gov.cn:30443/
# corpid: wwf62d6d16d1182b4f
# corpsecret: VRJHzFqJpsSZhwnsKTWNspv_GZMxTWl-bgH6DyE9Ty0
#测试
agentid: 1000067
url: https://szytest.sz.gov.cn:30443/
corpid: wwefa4043a6b5cf4f3
corpsecret: qYf-NIgyRKG-5eybrclvnBogATPfOhpnAVp6yBas7RU
#市认证网关
srnwg:
#正式
url: https://smartgate.sz.gov.cn
systemCode: sfjzfjdm
integrationKey: erS@rtd34gf!
paasId: szsfj_zhifajianduma_001
paasToken: bb1c6dd37f34545c8f57785c9d8e79f6
#市认证数据加密字符
secretKey: VRJHzFqJpsSZhwnsKTWNspv_GZMxTWl-bgH6DyE9Ty0
# #测试
# url: https://smartgate-test.sz.gov.cn
# systemCode: sfjzfjdm
# integrationKey: P@ssw0rd
# paasId: szsfj_zhifajianduma_001
# paasToken: e64638a4483e8bcfc33d935c3cbdf546
#mssq:
# appId: 67a83c8a136346cd98f844359902a23c
# appkey: NjdhODNjOGExMzYzNDZjZDk4Zjg0NDM1OTkwMmEyM2M6TXNzcTIwMjQ=
# apiUrl: http://10.224.158.64:8282/proxy/api
mssq:
appId: 67a83c8a136346cd98f844359902a23c
appKey: NjdhODNjOGExMzYzNDZjZDk4Zjg0NDM1OTkwMmEyM2M6TXNzcTIwMjQ=
apiUrl: http://10.224.158.64:8282/proxy
hcpappid: zfjdm
hcpsign: 04748d31edb4f7076924afbfb7f3b4429a2376b6cff840abb4dc680984d984255058f425f3c9315413efb1c4854149ad1e237c8b97a064b38334a8a27a6dadb21fd8870d35f8640a47fbec8fe86b7d448c4cc2163f1fa7cdd225b5c723381c141824f372033d56e43aaeb7fe710972d6cf8b2380f8c30a4375281d347cab7cb902a092a9b526
hcptimestamp: 20240710172956
#短信平台
sms:
account: 122
pwd: szsfj1800

23
lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/application-druid.yml

@ -6,24 +6,13 @@ spring:
druid:
# 主库数据源
master:
#开发库
# url: jdbc:mysql://139.9.25.95:3306/zhyj?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
# username: zhyj
# password: zhyj@123456
url: jdbc:mysql://146.56.223.227:3306/zfjd?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: ENC(XZ0cNb5wfN9GkTEq+SgVNA==)
password: ENC(+bxT7W35PF0k/5FZBYV0uwFLN+I9kZsF)
#应急产品DB
#url: jdbc:mysql://139.9.25.95:3306/zhyjcp?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
#username: zhyjcp
#password: zhyjcp123456
# url: jdbc:mysql://146.56.223.227:3306/sw_jt808?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
# username: sw_jt
# password: swjt@123
# url: jdbc:mysql://146.56.223.227:3306/zfjd?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
# username: zfjd
# password: zdxt@1234
url: jdbc:mysql://10.76.108.2:3306/zfjd?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false
username: root
password: szsf@zfjd
# url: ENC(v3oHIZvpj5ZRTcLc41PnMXUVZbXK7dp+IKwsOlJ2bRUf5E5bagEjlB3qNwT7KiAnX3+ugTUeKWt1cVPh1iVLlQE1ELVNILu6k0X4/uH9ao53b4pLlyJsim67HozUikmKDQ/wDMxVUSkBW21g6jcKeEzXgSphxUQvPz/L8KJzzHJvkpDarGwYUZH+sV1VnSkHCHpPqW9wkbD/AN8K+iNiLw==)
# username: ENC(E5mY10bkGFBgN1Pljgzggg==)
# password: ENC(oqD1IasQS57qOeOHFtBdAAemGwJ2I7BV)
# 从库数据源
slave:
# 从数据源开关/默认关闭

98
lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/application-pro.yml

@ -0,0 +1,98 @@
# Spring配置
spring:
# redis配置
redis:
database: 0
host: 10.76.108.1
port: 6379
password: zfjd@123
# host: 43.136.51.161
# port: 6379
# password: meiyoumima
timeout: 6000ms # 连接超时时长(毫秒)
lettuce:
pool:
max-active: 10 # 连接池最大连接数(使用负值表示没有限制)
max-wait: -1ms # 连接池最大阻塞等待时间(使用负值表示没有限制)
max-idle: 3 # 连接池中的最大空闲连接
min-idle: 2 # 连接池中的最小空闲连接
xxl:
job:
status: false #启用状态 false 关闭
accessToken: default_token
admin:
addresses: http://127.0.0.1:8080/xxl-job-admin #注册地址
executor:
address: ''
appname: zdxt #系统标识名称
ip: ''
logpath: /data/applogs/xxl-job/jobhandler
logretentiondays: -1
port: 9999
# 信息安全
security:
csrf:
enable: true
excludes:
allowed:
servernames: 10.76.108.1,10.76.108.3,10.132.108.3,jdm.szssfj.cn,58.250.157.161,127.0.0.1,localhost,192.168.31.146
excel:
export: true
import: true
# 粤政易对接令牌信息
yzy:
yzyUrl: http://50.9.11.153
corpid: 123456
corpsecret: 88761
paasid: 123
#qr_code_url: C:\ruoyi\uploadPath\zfjd_logo.png
qr_code_url: /usr/local/uploads/zfjd_logo.png
#qr_code_url: /Users/kylin_stone/Workspaces/uploads/zfjd_logo.png
#深i企对接密钥 测试环境
siq:
#正式
siqUrl: http://10.76.108.3/siqApi
code: zfjdm
secretKey: SXRpWEhVN3RHM3ZFbzRQcQ==
#测试
# siqUrl: http://egbpub.siqhz.com/egb/api/thirdauth
# code: zfjdm
# secretKey: eWIzY3BMRVNEQXhvUUlXMA==
#深圳易平台对接密钥
szypt:
#正式
agentid: 1000015
url: https://zwwx-hlht.sz.gov.cn:30443/
corpid: wwf62d6d16d1182b4f
corpsecret: VRJHzFqJpsSZhwnsKTWNspv_GZMxTWl-bgH6DyE9Ty0
#市认证网关
srnwg:
#正式
url: ENC(pHNm/o0+6S+HjrM5nuMiPRfkrHS1tXYD5i25OBtM4dWSi6MvH6iXfw==)
systemCode: ENC(cHDdxMKpJ/rbuj4PVCxylN+zPd9I2KT0)
integrationKey: ENC(txSndcPbZK5mYjW7Doa/n9Ips2PLa9NV)
paasId: szsfj_zhifajianduma_001
paasToken: ENC(VfUgR5OXHJcKvBBfq/2ysuNPH6I7tCCeWHYSzXKicGChlMiw9mVPGD51naX9w42E)
#市认证数据加密字符
secretKey: VRJHzFqJpsSZhwnsKTWNspv_GZMxTWl-bgH6DyE9Ty0
mssq:
appId: 67a83c8a136346cd98f844359902a23c
appKey: NjdhODNjOGExMzYzNDZjZDk4Zjg0NDM1OTkwMmEyM2M6TXNzcTIwMjQ=
apiUrl: http://10.224.158.64:8282/proxy
#短信平台
sms:
account: 122
pwd: szsfj1800

76
lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/application.yml

@ -78,6 +78,7 @@ spring:
# - cas
# 启用mysql版本
- druid
- dev
#分布式任务中心
# - job
# - oss
@ -96,22 +97,6 @@ spring:
restart:
# 热部署开关
enabled: true
# redis配置
redis:
database: 0
host: 10.76.108.1
port: 6379
password: zfjd@123
# host: 43.136.51.161
# port: 6379
# password: meiyoumima
timeout: 6000ms # 连接超时时长(毫秒)
lettuce:
pool:
max-active: 10 # 连接池最大连接数(使用负值表示没有限制)
max-wait: -1ms # 连接池最大阻塞等待时间(使用负值表示没有限制)
max-idle: 3 # 连接池中的最大空闲连接
min-idle: 2 # 连接池中的最小空闲连接
# Shiro
shiro:
user:
@ -207,8 +192,6 @@ security:
excludes:
allowed:
servernames: 10.76.108.1,10.76.108.3,10.132.108.3,139.186.135.156,jdm.szssfj.cn,58.250.157.161,127.0.0.1,localhost
excel:
export: true
@ -225,60 +208,3 @@ yzy:
#qr_code_url: C:\ruoyi\uploadPath\zfjd_logo.png
qr_code_url: /usr/local/uploads/zfjd_logo.png
#qr_code_url: /Users/kylin_stone/Workspaces/uploads/zfjd_logo.png
#深i企对接密钥 测试环境
siq:
#正式
siqUrl: http://10.76.108.3/siqApi
code: zfjdm
secretKey: SXRpWEhVN3RHM3ZFbzRQcQ==
#测试
# siqUrl: http://egbpub.siqhz.com/egb/api/thirdauth
# code: zfjdm
# secretKey: eWIzY3BMRVNEQXhvUUlXMA==
#深圳易平台对接密钥
szypt:
#正式
agentid: 1000015
url: https://zwwx-hlht.sz.gov.cn:30443/
corpid: wwf62d6d16d1182b4f
corpsecret: VRJHzFqJpsSZhwnsKTWNspv_GZMxTWl-bgH6DyE9Ty0
#测试
# agentid: 1000067
# url: https://szytest.sz.gov.cn:30443/
# corpid: wwefa4043a6b5cf4f3
# corpsecret: qYf-NIgyRKG-5eybrclvnBogATPfOhpnAVp6yBas7RU
#市认证网关
srnwg:
#正式
url: https://smartgate.sz.gov.cn
systemCode: sfjzfjdm
integrationKey: erS@rtd34gf!
paasId: szsfj_zhifajianduma_001
paasToken: bb1c6dd37f34545c8f57785c9d8e79f6
#市认证数据加密字符
secretKey: VRJHzFqJpsSZhwnsKTWNspv_GZMxTWl-bgH6DyE9Ty0
#测试
# url: https://smartgate-test.sz.gov.cn
# systemCode: sfjzfjdm
# integrationKey: P@ssw0rd
# paasId: szsfj_zhifajianduma_001
# paasToken: e64638a4483e8bcfc33d935c3cbdf546
#mssq:
# appId: 67a83c8a136346cd98f844359902a23c
# appkey: NjdhODNjOGExMzYzNDZjZDk4Zjg0NDM1OTkwMmEyM2M6TXNzcTIwMjQ=
# apiUrl: http://10.224.158.64:8282/proxy/api
mssq:
appId: 67a83c8a136346cd98f844359902a23c
appKey: NjdhODNjOGExMzYzNDZjZDk4Zjg0NDM1OTkwMmEyM2M6TXNzcTIwMjQ=
apiUrl: http://10.224.158.64:8282/proxy
#短信平台
sms:
account: 122
pwd: szsfj1800

27
lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/code/analysis/analysis.html

@ -4,6 +4,16 @@
<head>
<th:block th:include="zdxtInclude :: header('图表分析')"/>
<link type="text/css" href="/css/stat.css" rel="stylesheet"/>
<style type="text/css">
.modelDiv{
width: 20%;
position: absolute;
top: 6%;
right: 2%;
display: flex;
align-items: center;
}
</style>
</head>
<body>
@ -40,6 +50,13 @@
<option value="11">11</option>
<option value="12">12</option>
</select>月度</span>
<span><button onclick="exportData()">导出</button></span>
</div>
<div class="modelDiv">
<span style="display:flex; width: 30%">导出模板:</span>
<select name="excelModel" id="excelModel" th:with="type=${@dict.getType('excelModel')}" class="form-control">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</div>
<div class="statit">
<span id="one1" class="actit" onclick="setTab('one',1,5)">案件数量</span>
@ -317,6 +334,16 @@
myChart.resize();
window.addEventListener('resize', () => { myChart.resize(); });
}
/**
* 修改企业所属行业
* @param id 主键
*/
function exportData() {
console.log(1111)
$.modal.open("数据导出模板选择" , prefix + "/analysisModel", 800, 300);
windows
}
</script>
</body>
</html>

55
lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/code/analysis/analysisModel.html

@ -0,0 +1,55 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="zdxtInclude :: header('分析管理模板')" />
<th:block th:include="zdxtInclude :: datetimepicker-css" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-information-edit">
<input name="id" th:value="${id}" type="hidden">
<div class="form-group">
<label class="col-sm-3 control-label">导出模板:</label>
<div class="col-sm-8">
<select name="excelModel" id="excelModel" th:with="type=${@dict.getType('excelModel')}" class="form-control m-b">
<!--<option value=""></option>-->
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</div>
</div>
</form>
</div>
<th:block th:include="zdxtInclude :: footer" />
<th:block th:include="zdxtInclude :: datetimepicker-js" />
<script type="text/javascript">
var prefix = ctx + "statistical";
$("#form-information-edit").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
var config = {
url: prefix + "/export",
type: "GET",
dataType: "json",
data: $('#form-information-edit').serialize(),
beforeSend: function () {
$.modal.loading("正在处理中,请稍后...");
// $.modal.disable();
},
success: function(result) {
// if (typeof callback == "function") {
// callback(result);
// }
// $.operate.successCallback(result);
}
};
$.ajax(config)
}
}
</script>
</body>
</html>

39
lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/code/information/editIndustry.html

@ -0,0 +1,39 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="zdxtInclude :: header('修改企业信息')" />
<th:block th:include="zdxtInclude :: datetimepicker-css" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-information-edit">
<input name="id" th:value="${id}" type="hidden">
<div class="form-group">
<label class="col-sm-3 control-label">所属行业:</label>
<div class="col-sm-8">
<select name="industry" id="industryType" th:with="type=${@dict.getType('industryType')}" class="form-control m-b">
<!--<option value=""></option>-->
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</div>
</div>
</form>
</div>
<th:block th:include="zdxtInclude :: footer" />
<th:block th:include="zdxtInclude :: datetimepicker-js" />
<script type="text/javascript">
var prefix = ctx + "enterpriseInformation";
$("#form-information-edit").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/editIndustry", $('#form-information-edit').serialize());
}
}
</script>
</body>
</html>

11
lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/code/information/information.html

@ -32,7 +32,6 @@
<li>
<a class="btn btn-success btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-reset btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
<!-- Button trigger modal -->
</li>
</ul>
</div>
@ -50,7 +49,6 @@
<i class="fa fa-remove"></i> 删除
</a>
</div>
<div class="col-sm-12 select-table table-bordered">
<table id="bootstrap-table"></table>
</div>
@ -141,6 +139,7 @@
var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="toQrCode(\'' + row.enterpriseNumber + '\')"><i class="fa fa-edit"></i>二维码</a> ');
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="editIndustry(\'' + row.id + '\')"><i class="fa fa-edit"></i>所属行业</a> ');
actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="unsubscribe(\'' + row.id + '\')"><i class="fa fa-remove"></i>注销</a>');
actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a>');
return actions.join('');
@ -176,6 +175,14 @@
$.ajax(config)
}
/**
* 修改企业所属行业
* @param id 主键
*/
function editIndustry(id) {
$.modal.open("修改企业所属行业" , prefix + "/editIndustry/"+ id, 500, 300);
}
</script>
</body>
</html>

23
lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/controller/EnterpriseInformationController.java

@ -112,6 +112,17 @@ public class EnterpriseInformationController extends BaseController
return enterpriseInformationService.updateEnterpriseInformation(enterpriseInformation) > 0 ?
ZDResponse.success("修改成功"): ZDResponse.error("修改失败");
}
/**
* 修改保存企业信息登记
*/
@RequiresPermissions("code:information:edit")
@PostMapping("/editIndustry")
@ResponseBody
public ZDResponse editIndustry(EnterpriseInformation enterpriseInformation)
{
return enterpriseInformationService.update(enterpriseInformation) > 0 ?
ZDResponse.success("修改成功"): ZDResponse.error("修改失败");
}
/**
@ -227,4 +238,16 @@ public class EnterpriseInformationController extends BaseController
iQrCodeGenerateHistoryService.selectQrCodeGenerateHistoryList(qrCodeGenerateHistory);
return ZDResponse.success("查询二维码历史记录成功",qrCodeGenerateHistories);
}
/**
* 修改企业所属行业
* @param id
* @param mmp
* @return
*/
@GetMapping("/editIndustry/{id}")
public String editIndustry(@PathVariable("id")String id,ModelMap mmp){
mmp.put("id",id);
return prefix + "/editIndustry";
}
}

19
lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/controller/StatisticalController.java

@ -1,8 +1,10 @@
package com.zdxt.code.controller;
import com.zdxt.code.domain.StatisticalVo;
import com.zdxt.code.domain.LawEnforcerExcel;
import com.zdxt.code.service.StatisticalService;
import com.zdxt.common.ZDResponse;
import com.zdxt.common.util.ExcelUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
@ -10,7 +12,8 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.HashMap;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@ -102,4 +105,18 @@ public class StatisticalController {
List<StatisticalVo> statisticalVos = statisticalService.enterpriseTableAnalysis(statisticalVo);
return ZDResponse.success("查询成功", statisticalVos);
}
@GetMapping("/export")
public void export(HttpServletResponse response,StatisticalVo statisticalVo) {
if("1".equals(statisticalVo.getExcelModel())){
statisticalService.exportLawEnforcerExcel(response,statisticalVo);
}else if("2".equals(statisticalVo.getExcelModel())){
statisticalService.exportEnterpriseRankExcel(response,statisticalVo);
}
}
@GetMapping("/analysisModel")
public String analysisModel() {
return prefix2 + "/analysisModel";
}
}

13
lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/domain/EnterpriseInformation.java

@ -85,6 +85,11 @@ public class EnterpriseInformation extends BaseDomain
/** 证件号 */
private String idNumbe;
/**
* 行业
*/
private String industry;
public String getEnterprise() {
return enterprise;
}
@ -251,6 +256,14 @@ public class EnterpriseInformation extends BaseDomain
this.companyOrgType = companyOrgType;
}
public String getIndustry() {
return industry;
}
public void setIndustry(String industry) {
this.industry = industry;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)

34
lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/domain/EnterpriseRankExcel.java

@ -0,0 +1,34 @@
package com.zdxt.code.domain;
import com.zdxt.common.annotation.ExcelExport;
/**
* 企业排序
*/
public class EnterpriseRankExcel {
/**
* 企业名称
*/
@ExcelExport("企业名称")
private String enterpriseName;
@ExcelExport("被执法数量")
private String total;
public String getEnterpriseName() {
return enterpriseName;
}
public void setEnterpriseName(String enterpriseName) {
this.enterpriseName = enterpriseName;
}
public String getTotal() {
return total;
}
public void setTotal(String total) {
this.total = total;
}
}

31
lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/domain/LawEnforcerExcel.java

@ -0,0 +1,31 @@
package com.zdxt.code.domain;
import com.zdxt.common.annotation.ExcelExport;
/**
* 执法人员分析导出模板
*/
public class LawEnforcerExcel {
@ExcelExport("执法人员姓名")
private String name;
@ExcelExport("执法案件数量")
private Integer total;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getTotal() {
return total;
}
public void setTotal(Integer total) {
this.total = total;
}
}

18
lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/domain/StatisticalVo.java

@ -56,6 +56,16 @@ public class StatisticalVo extends BaseDomain {
private String value;
private String date;
/**
* 导出模板类
*/
private String clazz;
/**
* 导出模板类型
*/
private String excelModel;
public String getName() {
return name;
}
@ -175,4 +185,12 @@ public class StatisticalVo extends BaseDomain {
public void setComplaintCount(Integer complaintCount) {
this.complaintCount = complaintCount;
}
public String getExcelModel() {
return excelModel;
}
public void setExcelModel(String excelModel) {
this.excelModel = excelModel;
}
}

8
lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/IEnterpriseInformationService.java

@ -50,6 +50,14 @@ public interface IEnterpriseInformationService
*/
public int updateEnterpriseInformation(EnterpriseInformation enterpriseInformation);
/**
* 修改企业信息登记
*
* @param enterpriseInformation 企业信息登记
* @return 结果
*/
public int update(EnterpriseInformation enterpriseInformation);
/**
* 批量删除企业信息登记
*

12
lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/StatisticalService.java

@ -2,6 +2,7 @@ package com.zdxt.code.service;
import com.zdxt.code.domain.StatisticalVo;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;
@ -34,4 +35,15 @@ public interface StatisticalService {
/** 统计案件中的企业每日案件数表格 */
List<StatisticalVo> enterpriseTableAnalysis(StatisticalVo statisticalVo);
/**
* 导出执法人员
* @param response
*/
void exportLawEnforcerExcel(HttpServletResponse response,StatisticalVo statisticalVo);
/**
* 导出企业排序
* @param response
*/
void exportEnterpriseRankExcel(HttpServletResponse response,StatisticalVo statisticalVo);
}

6
lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/EnterpriseInformationServiceImpl.java

@ -196,6 +196,12 @@ public class EnterpriseInformationServiceImpl implements IEnterpriseInformationS
return i;
}
@Override
public int update(EnterpriseInformation enterpriseInformation) {
int i = enterpriseInformationMapper.updateEnterpriseInformation(enterpriseInformation);
return i;
}
/**
* 删除企业信息登记对象
*

33
lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/StatisticalServiceImpl.java

@ -1,15 +1,19 @@
package com.zdxt.code.service.impl;
import com.zdxt.code.domain.LawEnforcerExcel;
import com.zdxt.code.domain.LinkageDict;
import com.zdxt.code.domain.StatisticalVo;
import com.zdxt.code.mapper.LinkageDictMapper;
import com.zdxt.code.mapper.StatisticalMapper;
import com.zdxt.code.service.StatisticalService;
import com.zdxt.common.annotation.DataScope;
import com.zdxt.common.util.ExcelUtils;
import org.apache.commons.collections.map.HashedMap;
import org.apache.commons.compress.utils.Lists;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletResponse;
import java.util.*;
@Service
@ -113,6 +117,35 @@ public class StatisticalServiceImpl implements StatisticalService
return statisticalVos;
}
@Override
public void exportLawEnforcerExcel(HttpServletResponse response,StatisticalVo statisticalVo) {
this.putParams(statisticalVo);
List<StatisticalVo> statisticalVos = statisticalMapper.enforcerAnalysis(statisticalVo);
List<LawEnforcerExcel> lawEnforcerExcels = new ArrayList<>();
statisticalVos.forEach(res ->{
LawEnforcerExcel lawEnforcerExcel = new LawEnforcerExcel();
lawEnforcerExcel.setName(res.getLawEnforcer());
lawEnforcerExcel.setTotal(res.getTotal());
lawEnforcerExcels.add(lawEnforcerExcel);
});
ExcelUtils.export(response, "执法人员排序表",lawEnforcerExcels, LawEnforcerExcel.class);
}
@Override
public void exportEnterpriseRankExcel(HttpServletResponse response,StatisticalVo statisticalVo) {
this.putParams(statisticalVo);
List<StatisticalVo> statisticalVos = statisticalMapper.enforcerAnalysis(statisticalVo);
List<LawEnforcerExcel> lawEnforcerExcels = new ArrayList<>();
statisticalVos.forEach(res ->{
LawEnforcerExcel lawEnforcerExcel = new LawEnforcerExcel();
lawEnforcerExcel.setName(res.getLawEnforcer());
lawEnforcerExcel.setTotal(res.getTotal());
lawEnforcerExcels.add(lawEnforcerExcel);
});
ExcelUtils.export(response, "企业被执法排序表",lawEnforcerExcels, LawEnforcerExcel.class);
}
private void putParams(StatisticalVo statisticalVo) {
Map<String, Object> params = statisticalVo.getParams();
if ("q".equals(statisticalVo.getQorm())) {

10
lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/resources/mapper/EnterpriseInformationMapper.xml

@ -24,11 +24,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="isDelete" column="is_delete" />
<result property="salt" column="salt" />
<result property="enterpriseTel" column="enterprise_tel" />
<result property="industry" column="industry" />
</resultMap>
<sql id="selectEnterpriseInformationVo">
select id, enterprise_name, enterprise_number, enterprise_type, company_org_type, enterprise_address, legal_person, registered_capital, establishment_time,
operating_term, business_scope, create_time, create_by, user_id, dept_id,is_unsubscribe ,is_delete,salt,enterprise_tel from enterprise_information
operating_term, business_scope, create_time, create_by, user_id, dept_id,is_unsubscribe ,is_delete,salt,enterprise_tel,industry from enterprise_information
</sql>
<select id="selectEnterpriseInformationList" parameterType="EnterpriseInformation" resultMap="EnterpriseInformationResult">
@ -45,7 +46,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="operatingTerm != null "> and operating_term = #{operatingTerm}</if>
<if test="businessScope != null and businessScope != ''"> and business_scope = #{businessScope}</if>
<if test="isUnsubscribe != null"> and is_unsubscribe = #{isUnsubscribe}</if>
<if test="enterpriseNumbers != null and enterpriseNumbers.size > 0 ">
<if test="industry != null"> and industry = #{industry}</if>
<if test="enterpriseNumbers != null and enterpriseNumbers.size > 0 ">
and enterprise_number in
<foreach collection="enterpriseNumbers" item="enterpriseNumber" separator="," open="(" close=")">
#{enterpriseNumber}
@ -87,6 +89,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="isUnsubscribe != null">is_unsubscribe,</if>
<if test="salt != null and salt != ''">salt,</if>
<if test="enterpriseTel != null and enterpriseTel != ''">enterprise_tel,</if>
<if test="industry != null and industry != ''">industry,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null and id != ''">#{id},</if>
@ -107,6 +110,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="isUnsubscribe != null">#{isUnsubscribe},</if>
<if test="salt != null and salt != ''">#{salt},</if>
<if test="enterpriseTel != null and enterpriseTel != ''">#{enterpriseTel},</if>
<if test="industry != null and industry != ''">#{industry},</if>
</trim>
</insert>
@ -127,6 +131,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="createBy != null and createBy != ''">create_by = #{createBy},</if>
<if test="isUnsubscribe != null">is_unsubscribe = #{isUnsubscribe},</if>
<if test="salt != null and salt != ''">salt = #{isUnsubscribe}</if>
<if test="industry != null and industry != ''">industry = #{industry}</if>
</trim>
where id = #{id}
</update>
@ -146,6 +151,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="createBy != null and createBy != ''">create_by = #{createBy},</if>
<if test="isUnsubscribe != null">is_unsubscribe = #{isUnsubscribe},</if>
<if test="salt != null and salt != ''">salt = #{salt} ,</if>
<if test="industry != null and industry != ''">industry = #{industry} ,</if>
</trim>
where enterprise_number = #{enterpriseNumber}
</update>

Loading…
Cancel
Save