Browse Source

之前改的统一提交

master
蟑螂恶霸 7 months ago
parent
commit
1eb69824a0
  1. 5
      lib/EmergencyBaseLib/EmergencyCommon/src/main/java/com/zdxt/common/annotation/DataScope.java
  2. 2
      lib/EmergencyBaseLib/EmergencyCommon/src/main/java/com/zdxt/common/util/IdCardCryptoUtil.java
  3. 2
      lib/EmergencyBaseLib/EmergencyCommon/src/main/java/com/zdxt/common/util/jasypt/JasyptUtils.java
  4. 106
      lib/EmergencyBaseLib/EmergencyCommonmDatascope/src/main/java/com/zdxt/common/datascope/aspect/DataScopeAspect.java
  5. 2
      lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/config/CorsFilter.java
  6. 12
      lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/application-dev.yml
  7. 10
      lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/application.yml
  8. 99
      lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/logback.xml
  9. 14
      lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/controller/EnforcementRegistrationController.java
  10. 14
      lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/EnforcementCheckStatisticsImpl.java
  11. 24
      lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/EnforcementRegistrationServiceImpl.java
  12. 12
      lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/NonEnforcementRegistrationServiceImpl.java
  13. 4
      lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/resources/mapper/EnforcementRegistrationMapper.xml

5
lib/EmergencyBaseLib/EmergencyCommon/src/main/java/com/zdxt/common/annotation/DataScope.java

@ -27,6 +27,11 @@ public @interface DataScope
*/ */
public String deptField() default ""; public String deptField() default "";
/**
* 额外部门id字段(与deptField以OR关系并列过滤,例如委托单位id)
*/
public String extraDeptField() default "";
/** /**
* 用户id替换字段 * 用户id替换字段
*/ */

2
lib/EmergencyBaseLib/EmergencyCommon/src/main/java/com/zdxt/common/util/IdCardCryptoUtil.java

@ -32,7 +32,7 @@ public class IdCardCryptoUtil {
String key = "VRJHzFqJpsSZhwnsKTWNspv_GZMxTWl-bgH6DyE9Ty0"; String key = "VRJHzFqJpsSZhwnsKTWNspv_GZMxTWl-bgH6DyE9Ty0";
System.out.println("====================== 示例 ======================"); System.out.println("====================== 示例 ======================");
// 加密 // 加密
String source_dec = "13640840165"; String source_dec = "13823290422";
String enc = IdCardCryptoUtil.symmetricEncryptIdCard(key, source_dec); String enc = IdCardCryptoUtil.symmetricEncryptIdCard(key, source_dec);
System.out.println(source_dec+" 加密后 : "+enc); System.out.println(source_dec+" 加密后 : "+enc);
// 解密 // 解密

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

@ -52,7 +52,7 @@ public final class JasyptUtils {
//加密 //加密
String s = encryptWithMD5("szsf@zfjd", "ATPfOhpnAVp6yBas7RU"); String s = encryptWithMD5("szsf@zfjd", "ATPfOhpnAVp6yBas7RU");
System.out.println(s); System.out.println(s);
String channelcs1 = decryptWithMD5("2fR5TkUb/A0p4+Gp/As+LJsVCjq7pgNwJIG2OAk2yWLXY/q7DNaCDQ==", "ATPfOhpnAVp6yBas7RU"); String channelcs1 = decryptWithMD5("+bxT7W35PF0k/5FZBYV0uwFLN+I9kZsF", "ATPfOhpnAVp6yBas7RU");
System.out.println(channelcs1); System.out.println(channelcs1);
} }
} }

106
lib/EmergencyBaseLib/EmergencyCommonmDatascope/src/main/java/com/zdxt/common/datascope/aspect/DataScopeAspect.java

@ -93,7 +93,7 @@ public class DataScopeAspect {
User currentUser = (User) cacheKeys; User currentUser = (User) cacheKeys;
if (!currentUser.isAdmin()){ if (!currentUser.isAdmin()){
dataScopeFilter(joinPoint, currentUser, controllerDataScope.deptAlias(), dataScopeFilter(joinPoint, currentUser, controllerDataScope.deptAlias(),
controllerDataScope.userAlias(), controllerDataScope.deptField(), controllerDataScope.userField()); controllerDataScope.userAlias(), controllerDataScope.deptField(), controllerDataScope.userField(), controllerDataScope.extraDeptField());
} }
}else{ }else{
@ -103,7 +103,7 @@ public class DataScopeAspect {
User appUser = (User) redisKeys; User appUser = (User) redisKeys;
if (!appUser.isAdmin()){ if (!appUser.isAdmin()){
dataScopeFilter(joinPoint, appUser, controllerDataScope.deptAlias(), dataScopeFilter(joinPoint, appUser, controllerDataScope.deptAlias(),
controllerDataScope.userAlias(), controllerDataScope.deptField(), controllerDataScope.userField()); controllerDataScope.userAlias(), controllerDataScope.deptField(), controllerDataScope.userField(), controllerDataScope.extraDeptField());
} }
} }
} }
@ -123,9 +123,13 @@ public class DataScopeAspect {
* *
* @param joinPoint 切点 * @param joinPoint 切点
* @param user 用户 * @param user 用户
* @param userAlias 别名 * @param deptAlias 部门别名
* @param userAlias 用户别名
* @param deptField 部门字段
* @param userField 用户字段
* @param extraDeptField 额外部门字段(与deptField以OR关系并列,例如委托单位id)
*/ */
public static void dataScopeFilter(JoinPoint joinPoint, User user, String deptAlias, String userAlias, String deptField, String userField) { public static void dataScopeFilter(JoinPoint joinPoint, User user, String deptAlias, String userAlias, String deptField, String userField, String extraDeptField) {
StringBuilder sqlString = new StringBuilder(); StringBuilder sqlString = new StringBuilder();
for (Role role : user.getRoles()) { for (Role role : user.getRoles()) {
@ -134,64 +138,102 @@ public class DataScopeAspect {
sqlString = new StringBuilder(); sqlString = new StringBuilder();
break; break;
} else if (DATA_SCOPE_CUSTOM.equals(dataScope)) { } else if (DATA_SCOPE_CUSTOM.equals(dataScope)) {
String deptCondition;
if(StringUtils.isEmpty(deptAlias)){ if(StringUtils.isEmpty(deptAlias)){
if(!StringUtils.isEmpty(deptField)){ if(!StringUtils.isEmpty(deptField)){
sqlString.append(StringUtils.format( deptCondition = StringUtils.format(
" OR {} IN ( SELECT dept_id FROM sys_role_dept WHERE role_id = {} ) ", deptField, "{} IN ( SELECT dept_id FROM sys_role_dept WHERE role_id = {} )", deptField,
role.getRoleId())); role.getRoleId());
} else { } else {
sqlString.append(StringUtils.format( deptCondition = StringUtils.format(
" OR {} dept_id IN ( SELECT dept_id FROM sys_role_dept WHERE role_id = {} ) ", deptAlias, "dept_id IN ( SELECT dept_id FROM sys_role_dept WHERE role_id = {} )",
role.getRoleId())); role.getRoleId());
} }
}else{ }else{
if(!StringUtils.isEmpty(deptField)){ if(!StringUtils.isEmpty(deptField)){
sqlString.append(StringUtils.format( deptCondition = StringUtils.format(
" OR {}.{} IN ( SELECT dept_id FROM sys_role_dept WHERE role_id = {} ) ", deptAlias, deptField, "{}.{} IN ( SELECT dept_id FROM sys_role_dept WHERE role_id = {} )", deptAlias, deptField,
role.getRoleId())); role.getRoleId());
} else { } else {
sqlString.append(StringUtils.format( deptCondition = StringUtils.format(
" OR {}.dept_id IN ( SELECT dept_id FROM sys_role_dept WHERE role_id = {} ) ", deptAlias, "{}.dept_id IN ( SELECT dept_id FROM sys_role_dept WHERE role_id = {} )", deptAlias,
role.getRoleId())); role.getRoleId());
} }
} }
// 额外部门字段(如委托单位),以OR并列
if(!StringUtils.isEmpty(extraDeptField)){
String extraCondition;
if(StringUtils.isEmpty(deptAlias)){
extraCondition = StringUtils.format(
"{} IN ( SELECT dept_id FROM sys_role_dept WHERE role_id = {} )", extraDeptField,
role.getRoleId());
}else{
extraCondition = StringUtils.format(
"{}.{} IN ( SELECT dept_id FROM sys_role_dept WHERE role_id = {} )", deptAlias, extraDeptField,
role.getRoleId());
}
sqlString.append(" OR (" + deptCondition + " OR " + extraCondition + ")");
} else {
sqlString.append(" OR " + deptCondition);
}
} else if (DATA_SCOPE_DEPT.equals(dataScope)) { } else if (DATA_SCOPE_DEPT.equals(dataScope)) {
String deptCondition;
//别名为空 //别名为空
if(StringUtils.isEmpty(deptAlias)) { if(StringUtils.isEmpty(deptAlias)) {
if(!StringUtils.isEmpty(deptField)){ if(!StringUtils.isEmpty(deptField)){
sqlString.append(StringUtils.format(" OR {} = '{}' ", deptField, user.getDeptId())); deptCondition = StringUtils.format("{} = '{}'", deptField, user.getDeptId());
} else { } else {
sqlString.append(StringUtils.format(" OR {} dept_id = '{}' ", deptAlias, user.getDeptId())); deptCondition = StringUtils.format("dept_id = '{}'", user.getDeptId());
} }
}else{ }else{
//别名不为空 //别名不为空
if(!StringUtils.isEmpty(deptField)){ if(!StringUtils.isEmpty(deptField)){
sqlString.append(StringUtils.format(" OR {}.{} = '{}' ", deptAlias, deptField, user.getDeptId())); deptCondition = StringUtils.format("{}.{} = '{}'", deptAlias, deptField, user.getDeptId());
} else { } else {
sqlString.append(StringUtils.format(" OR {}.dept_id = '{}' ", deptAlias, user.getDeptId())); deptCondition = StringUtils.format("{}.dept_id = '{}'", deptAlias, user.getDeptId());
}
}
// 额外部门字段(如委托单位),以OR并列
if(!StringUtils.isEmpty(extraDeptField)){
String extraCondition;
if(StringUtils.isEmpty(deptAlias)){
extraCondition = StringUtils.format("{} = '{}'", extraDeptField, user.getDeptId());
}else{
extraCondition = StringUtils.format("{}.{} = '{}'", deptAlias, extraDeptField, user.getDeptId());
} }
sqlString.append(" OR (" + deptCondition + " OR " + extraCondition + ")");
} else {
sqlString.append(" OR " + deptCondition);
} }
} else if (DATA_SCOPE_DEPT_AND_CHILD.equals(dataScope)) { } else if (DATA_SCOPE_DEPT_AND_CHILD.equals(dataScope)) {
String deptSubQuery = StringUtils.format(
"SELECT dept_id FROM sys_dept WHERE dept_id = '{}' or find_in_set( '{}' , ancestors ) <> 0",
user.getDeptId(), user.getDeptId());
String deptCondition;
if(StringUtils.isEmpty(deptAlias)){ if(StringUtils.isEmpty(deptAlias)){
if(!StringUtils.isEmpty(deptField)){ if(!StringUtils.isEmpty(deptField)){
sqlString.append(StringUtils.format( deptCondition = StringUtils.format("{} IN ( {} )", deptField, deptSubQuery);
" OR {} IN ( SELECT dept_id FROM sys_dept WHERE dept_id = '{}' or find_in_set( '{}' , ancestors ) <> 0 )",
deptField, user.getDeptId(), user.getDeptId()));
} else { } else {
sqlString.append(StringUtils.format( deptCondition = StringUtils.format("dept_id IN ( {} )", deptSubQuery);
" OR {} dept_id IN ( SELECT dept_id FROM sys_dept WHERE dept_id = '{}' or find_in_set( '{}' , ancestors ) <> 0 )",
deptAlias, user.getDeptId(), user.getDeptId()));
} }
}else{ }else{
if(!StringUtils.isEmpty(deptField)){ if(!StringUtils.isEmpty(deptField)){
sqlString.append(StringUtils.format( deptCondition = StringUtils.format("{}.{} IN ( {} )", deptAlias, deptField, deptSubQuery);
" OR {}.{} IN ( SELECT dept_id FROM sys_dept WHERE dept_id = '{}' or find_in_set( '{}' , ancestors ) <> 0 )",
deptAlias, deptField, user.getDeptId(), user.getDeptId()));
} else { } else {
sqlString.append(StringUtils.format( deptCondition = StringUtils.format("{}.dept_id IN ( {} )", deptAlias, deptSubQuery);
" OR {}.dept_id IN ( SELECT dept_id FROM sys_dept WHERE dept_id = '{}' or find_in_set( '{}' , ancestors ) <> 0 )", }
deptAlias, user.getDeptId(), user.getDeptId())); }
// 额外部门字段(如委托单位),以OR并列
if(!StringUtils.isEmpty(extraDeptField)){
String extraCondition;
if(StringUtils.isEmpty(deptAlias)){
extraCondition = StringUtils.format("{} IN ( {} )", extraDeptField, deptSubQuery);
}else{
extraCondition = StringUtils.format("{}.{} IN ( {} )", deptAlias, extraDeptField, deptSubQuery);
} }
sqlString.append(" OR (" + deptCondition + " OR " + extraCondition + ")");
} else {
sqlString.append(" OR " + deptCondition);
} }
} else if (DATA_SCOPE_SELF.equals(dataScope)) { } else if (DATA_SCOPE_SELF.equals(dataScope)) {

2
lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/config/CorsFilter.java

@ -31,7 +31,7 @@ public class CorsFilter implements Filter {
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
//配置可信域名 //配置可信域名
String[] authhosts = {"http://10.132.108.3:85","http://jdm.szssfj.cn","http://localhost:85","http://192.168.31.196:3301", String[] authhosts = {"http://10.132.108.3:85","http://jdm.szssfj.cn","http://localhost:85","http://192.168.31.196:3301","http://172.16.20.74:85",
"http://localhost:3301","http://10.132.108.3:81","http://10.132.108.3:85", "http://192.168.1.130:3301", "http://192.168.110.139:3301"}; "http://localhost:3301","http://10.132.108.3:81","http://10.132.108.3:85", "http://192.168.1.130:3301", "http://192.168.110.139:3301"};
String authost = ""; String authost = "";
HttpServletRequest httprequest = (HttpServletRequest) request; HttpServletRequest httprequest = (HttpServletRequest) request;

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

@ -3,12 +3,12 @@ spring:
# redis配置 # redis配置
redis: redis:
database: 0 database: 0
host: 10.76.108.1 # host: 10.76.108.1
# port: 6379
# password: zfjd@123
host: 127.0.0.1
port: 6379 port: 6379
password: zfjd@123 password:
# host: 127.0.0.1
# port: 6380
# password:
timeout: 6000ms # 连接超时时长(毫秒) timeout: 6000ms # 连接超时时长(毫秒)
lettuce: lettuce:
pool: pool:
@ -33,7 +33,7 @@ xxl:
allowed: 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.110.35,192.168.110.41 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.110.35,192.168.110.41,172.16.20.74
excel: excel:
export: true export: true

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

@ -37,6 +37,16 @@ server:
max-http-header-size: 4048576 max-http-header-size: 4048576
# 设定Httppost数据大小 # 设定Httppost数据大小
max-http-post-size: 102400000 max-http-post-size: 102400000
# 连接超时时间(毫秒),防止大数据量响应时管道断开
connection-timeout: 120000
# 最大请求体大小 -1为不限制
max-swallow-size: -1
# 开启Gzip压缩,减少大数据量响应体积,防止管道断开
compression:
enabled: true
# 超过1KB的响应就进行压缩
min-response-size: 1024
mime-types: application/json,application/xml,text/html,text/xml,text/plain,application/javascript,text/css,application/vnd.ms-excel,application/octet-stream
# 日志配置 # 日志配置
logging: logging:

99
lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/logback.xml

@ -0,0 +1,99 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false" scan="true" scanPeriod="1 seconds">
<contextName>logback</contextName>
<property name="zdxtEmergencyBootStart.path" value="/usr/local/zdxtEmergencyBootStart/logs/zdxtEmergencyBootStart.log"/>
<property name="zdxtEmergencyBootStart.error.path" value="/usr/local/zdxtEmergencyBootStart/logs/zdxtEmergencyBootStart.error.log"/>
<!--有线报警数据日志-->
<!-- <property name="zdxtEmergencyBootStart.realtimeWarnHandler.path" value="/usr/local/zdxtEmergencyBootStart/logs/realtimeWarnHandler.log"/>-->
<!--mqtt数据日志-->
<!-- <property name="zdxtEmergencyBootStart.warningMessageCallback.path" value="/usr/local/zdxtEmergencyBootStart/logs/warningMessageCallback.log"/>-->
<!--mqtt缓存数据日志-->
<!-- <property name="zdxtEmergencyBootStart.iotMessageTask.path" value="/usr/local/zdxtEmergencyBootStart/logs/iotMessageTask.log"/>-->
<property name="historyLogPath" value="/usr/local/zdxtEmergencyBootStart/logs/history"/>
<!-- 异步任务日志 -->
<!-- <property name="zdxtEmergencyBootStart.asyncTask.path" value="/usr/local/qn-worksite/logs/zdxtEmergencyBootStart.asyncTask.log"/>-->
<appender name="consoleAppender" class="ch.qos.logback.core.ConsoleAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>INFO</level>
</filter>
<encoder>
<pattern>
%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
<appender name="zdxtEmergencyBootStart" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${zdxtEmergencyBootStart.path}</file>
<!-- 过滤日志 -->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>DENY</onMatch> <!-- 如果命中就禁止这条日志 -->
<onMismatch>ACCEPT</onMismatch> <!-- 如果没有命中就使用这条规则 -->
</filter>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${historyLogPath}/%d{yyyy-MM-dd}/zdxtEmergencyBootStart.zip</fileNamePattern>
<maxHistory>180</maxHistory>
<!-- <maxFileSize>500MB</maxFileSize>-->
</rollingPolicy>
<encoder>
<pattern>%date %level [%thread] %logger{36} [%file : %line] %msg%n</pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
<appender name="zdxtEmergencyBootStart-error" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${zdxtEmergencyBootStart.error.path}</file>
<!-- 过滤日志 -->
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level>
</filter>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${historyLogPath}/%d{yyyy-MM-dd}/zdxtEmergencyBootStart-error.zip</fileNamePattern>
<maxHistory>180</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%date %level [%thread] %logger{36} [%file : %line] %msg%n</pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
<logger name="com.zdxt" level="INFO" additivity="false">
<appender-ref ref="zdxtEmergencyBootStart" />
<appender-ref ref="zdxtEmergencyBootStart-error"/>
<!-- <appender-ref ref="zdxtEmergencyBootStart-realtimeWarnHandler"/>-->
<!-- <appender-ref ref="zdxtEmergencyBootStart-warningMessageCallback"/>-->
<!-- <appender-ref ref="zdxtEmergencyBootStart-iotMessageTask"/>-->
</logger>
<logger name="org.springframework" level="INFO" additivity="false">
<appender-ref ref="zdxtEmergencyBootStart" />
<appender-ref ref="zdxtEmergencyBootStart-error"/>
<!-- <appender-ref ref="zdxtEmergencyBootStart-realtimeWarnHandler"/>-->
<!-- <appender-ref ref="zdxtEmergencyBootStart-warningMessageCallback"/>-->
<!-- <appender-ref ref="zdxtEmergencyBootStart-iotMessageTask"/>-->
</logger>
<root level="INFO">
<appender-ref ref="zdxtEmergencyBootStart"/>
<appender-ref ref="zdxtEmergencyBootStart-error"/>
<!-- <appender-ref ref="zdxtEmergencyBootStart-realtimeWarnHandler"/>-->
<!-- <appender-ref ref="zdxtEmergencyBootStart-warningMessageCallback"/>-->
<!-- <appender-ref ref="zdxtEmergencyBootStart-iotMessageTask"/>-->
<appender-ref ref="consoleAppender"/>
</root>
<!-- <root level="ERROR">
<appender-ref ref="zdxtEmergencyBootStart"/>
<appender-ref ref="zdxtEmergencyBootStart-error"/>
<appender-ref ref="zdxtEmergencyBootStart-realtimeWarnHandler"/>
<appender-ref ref="zdxtEmergencyBootStart-warningMessageCallback"/>
<appender-ref ref="consoleAppender"/>
</root>-->
</configuration>

14
lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/controller/EnforcementRegistrationController.java

@ -789,14 +789,20 @@ public class EnforcementRegistrationController extends BaseController
row.createCell(11).setCellValue(enforcementRegistrationDtos.get(i).getTotal()); row.createCell(11).setCellValue(enforcementRegistrationDtos.get(i).getTotal());
} }
} }
//先将workbook写入字节数组,获取长度后再写入响应流,防止大文件导出时管道断开
java.io.ByteArrayOutputStream bos = new java.io.ByteArrayOutputStream();
workbook.write(bos);
workbook.close();
byte[] content = bos.toByteArray();
httpServletResponse.setCharacterEncoding("UTF-8"); httpServletResponse.setCharacterEncoding("UTF-8");
httpServletResponse.setContentType("application/vnd.ms-excel"); httpServletResponse.setContentType("application/vnd.ms-excel");
httpServletResponse.setHeader("Content-disposition", "attachment;filename=" + fileName); httpServletResponse.setHeader("Content-disposition", "attachment;filename=" + fileName);
/* httpServletResponse.flushBuffer(); httpServletResponse.setContentLength(content.length);
workbook.write(httpServletResponse.getOutputStream());*/ httpServletResponse.setHeader("Connection", "keep-alive");
ServletOutputStream outputStream = httpServletResponse.getOutputStream(); ServletOutputStream outputStream = httpServletResponse.getOutputStream();
workbook.write(outputStream); outputStream.write(content);
workbook.close(); outputStream.flush();
outputStream.close();
} }
@GetMapping("/zfjdm") @GetMapping("/zfjdm")
@ResponseBody @ResponseBody

14
lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/EnforcementCheckStatisticsImpl.java

@ -2547,13 +2547,19 @@ public class EnforcementCheckStatisticsImpl implements EnforcementCheckStatistic
//表名:深圳市涉企行政登记情况(xxxx年xx月xx日至xxxx年xx月xx日) //表名:深圳市涉企行政登记情况(xxxx年xx月xx日至xxxx年xx月xx日)
String fileName="深圳市涉企行政登记情况("+strStart+"至"+strEnd+").xls"; String fileName="深圳市涉企行政登记情况("+strStart+"至"+strEnd+").xls";
fileName = URLEncoder.encode(fileName, "UTF-8"); fileName = URLEncoder.encode(fileName, "UTF-8");
//先将workbook写入字节数组,获取长度后再写入响应流,防止大文件导出时管道断开
java.io.ByteArrayOutputStream bos = new java.io.ByteArrayOutputStream();
wb.write(bos);
wb.close();
byte[] content = bos.toByteArray();
response.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8");
response.setContentType("application/vnd.ms-excel"); response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-disposition", "attachment;filename=" + fileName); response.setHeader("Content-disposition", "attachment;filename=" + fileName);
/* response.flushBuffer(); response.setContentLength(content.length);
wb.write(response.getOutputStream());*/ response.setHeader("Connection", "keep-alive");
ServletOutputStream outputStream = response.getOutputStream(); ServletOutputStream outputStream = response.getOutputStream();
wb.write(outputStream); outputStream.write(content);
wb.close(); outputStream.flush();
outputStream.close();
} }
} }

24
lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/EnforcementRegistrationServiceImpl.java

@ -207,7 +207,7 @@ public class EnforcementRegistrationServiceImpl implements IEnforcementRegistrat
@Override @Override
// @DataScope // @DataScope
@DataScope(deptField = "bureau_dept_id") @DataScope(deptField = "bureau_dept_id", extraDeptField = "entrust_dept_id")
public List<EnforcementRegistration> selectEnforcementRegistrationListNew(EnforcementRegistration enforcementRegistration) public List<EnforcementRegistration> selectEnforcementRegistrationListNew(EnforcementRegistration enforcementRegistration)
{ {
List<EnforcementRegistration> enforcementRegistrations = List<EnforcementRegistration> enforcementRegistrations =
@ -216,7 +216,7 @@ public class EnforcementRegistrationServiceImpl implements IEnforcementRegistrat
} }
@Override @Override
@DataScope(deptField = "bureau_dept_id") @DataScope(deptField = "bureau_dept_id", extraDeptField = "entrust_dept_id")
public List<EnforcementRegistration> selectEnforcementRegistrationList2(EnforcementRegistration enforcementRegistration) public List<EnforcementRegistration> selectEnforcementRegistrationList2(EnforcementRegistration enforcementRegistration)
{ {
List<EnforcementRegistration> enforcementRegistrations = List<EnforcementRegistration> enforcementRegistrations =
@ -234,7 +234,7 @@ public class EnforcementRegistrationServiceImpl implements IEnforcementRegistrat
} }
@Override @Override
@DataScope(deptField = "bureau_dept_id") @DataScope(deptField = "bureau_dept_id", extraDeptField = "entrust_dept_id")
public List<EnforcementRegistration> selectEnforcementRegistrationList1(EnforcementRegistration enforcementRegistration) public List<EnforcementRegistration> selectEnforcementRegistrationList1(EnforcementRegistration enforcementRegistration)
{ {
DateTimeFormatter str=DateTimeFormatter.ofPattern("yyyy-MM-dd"); DateTimeFormatter str=DateTimeFormatter.ofPattern("yyyy-MM-dd");
@ -294,7 +294,7 @@ public class EnforcementRegistrationServiceImpl implements IEnforcementRegistrat
enforcementRegistrationMapper.selectEnforcementRegistrationList1(enforcementRegistration); enforcementRegistrationMapper.selectEnforcementRegistrationList1(enforcementRegistration);
return enforcementRegistrations; return enforcementRegistrations;
} }
@DataScope(deptAlias = "r",userAlias = "r",deptField = "bureau_dept_id") @DataScope(deptAlias = "r",userAlias = "r",deptField = "bureau_dept_id", extraDeptField = "entrust_dept_id")
@Override @Override
public List<EnforcementRegistration> selectEnforcementRegistrationAndAddressList(EnforcementRegistration enforcementRegistration) { public List<EnforcementRegistration> selectEnforcementRegistrationAndAddressList(EnforcementRegistration enforcementRegistration) {
List<EnforcementRegistration> enforcementRegistrations = List<EnforcementRegistration> enforcementRegistrations =
@ -715,7 +715,7 @@ public class EnforcementRegistrationServiceImpl implements IEnforcementRegistrat
enforcementRegistrationMapper.staticEnforcementRegistration(enforcementRegistrationDto); enforcementRegistrationMapper.staticEnforcementRegistration(enforcementRegistrationDto);
return enforcementRegistrationDtos; return enforcementRegistrationDtos;
} }
@DataScope(deptAlias = "r",userAlias = "r",deptField = "bureau_dept_id") @DataScope(deptAlias = "r",userAlias = "r",deptField = "bureau_dept_id", extraDeptField = "entrust_dept_id")
@Override @Override
public List<EnforcementRegistrationDto> staticEnforcementRegistrationLI(EnforcementRegistrationDto enforcementRegistrationDto) { public List<EnforcementRegistrationDto> staticEnforcementRegistrationLI(EnforcementRegistrationDto enforcementRegistrationDto) {
if(enforcementRegistrationDto.getQy()!=null&&!"".equals(enforcementRegistrationDto.getQy())){ if(enforcementRegistrationDto.getQy()!=null&&!"".equals(enforcementRegistrationDto.getQy())){
@ -980,15 +980,21 @@ public class EnforcementRegistrationServiceImpl implements IEnforcementRegistrat
} }
} }
//先将workbook写入字节数组,获取长度后再写入响应流,防止大文件导出时管道断开
java.io.ByteArrayOutputStream bos = new java.io.ByteArrayOutputStream();
workbook.write(bos);
workbook.close();
byte[] content = bos.toByteArray();
//设置流格式 //设置流格式
response.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8");
response.setContentType("application/vnd.ms-excel"); response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-disposition", "attachment;filename=" + fileName); response.setHeader("Content-disposition", "attachment;filename=" + fileName);
/* response.flushBuffer(); response.setContentLength(content.length);
workbook.write(response.getOutputStream());*/ response.setHeader("Connection", "keep-alive");
ServletOutputStream outputStream = response.getOutputStream(); ServletOutputStream outputStream = response.getOutputStream();
workbook.write(outputStream); outputStream.write(content);
workbook.close(); outputStream.flush();
outputStream.close();
} }
private List<EnforcementRegistration> enforcementRegistrationListToExport(EnforcementRegistration enforcementRegistration){ private List<EnforcementRegistration> enforcementRegistrationListToExport(EnforcementRegistration enforcementRegistration){
if(enforcementRegistration.getQy()!=null&&!"".equals(enforcementRegistration.getQy())){ if(enforcementRegistration.getQy()!=null&&!"".equals(enforcementRegistration.getQy())){

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

@ -266,12 +266,20 @@ public class NonEnforcementRegistrationServiceImpl implements INonEnforcementReg
dateStyle.setDataFormat(cellDataFormat.getFormat("yyyy\"年\"m\"月\"d\"日\" h:mm:ss")); dateStyle.setDataFormat(cellDataFormat.getFormat("yyyy\"年\"m\"月\"d\"日\" h:mm:ss"));
setExcel(sheet,param); setExcel(sheet,param);
//先将workbook写入字节数组,获取长度后再写入响应流,防止大文件导出时管道断开
java.io.ByteArrayOutputStream bos = new java.io.ByteArrayOutputStream();
workbook.write(bos);
workbook.close();
byte[] content = bos.toByteArray();
response.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8");
response.setContentType("application/vnd.ms-excel"); response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-disposition", "attachment;filename=" + fileName); response.setHeader("Content-disposition", "attachment;filename=" + fileName);
response.setContentLength(content.length);
response.setHeader("Connection", "keep-alive");
ServletOutputStream outputStream = response.getOutputStream(); ServletOutputStream outputStream = response.getOutputStream();
workbook.write(outputStream); outputStream.write(content);
workbook.close(); outputStream.flush();
outputStream.close();
}catch (Exception e){ }catch (Exception e){
e.printStackTrace(); e.printStackTrace();
} }

4
lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/resources/mapper/EnforcementRegistrationMapper.xml

@ -573,6 +573,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="endTime != null and endTime != ''"><!-- 结束时间检索 --> <if test="endTime != null and endTime != ''"><!-- 结束时间检索 -->
and DATE_FORMAT(r.enforcement_time,'%Y-%m-%d') &lt;= STR_TO_DATE(#{endTime},'%Y-%m-%d') and DATE_FORMAT(r.enforcement_time,'%Y-%m-%d') &lt;= STR_TO_DATE(#{endTime},'%Y-%m-%d')
</if> </if>
<!-- 选择了自定义时间但未填入时间时,默认查当年数据,避免全表扫描导致慢SQL和连接断开 -->
<if test="dateSearch != null and dateSearch == 'select-time' and (beginTime == null or beginTime == '') and (endTime == null or endTime == '')">
AND YEAR(r.enforcement_time) = YEAR(NOW())
</if>
<if test="beginEnforcementTime != null and beginEnforcementTime != ''"><!-- 开始时间检索用于预警搜索 --> <if test="beginEnforcementTime != null and beginEnforcementTime != ''"><!-- 开始时间检索用于预警搜索 -->
and DATE_FORMAT(r.enforcement_time,'%Y-%m-%d') &gt;= STR_TO_DATE(#{beginEnforcementTime},'%Y-%m-%d') and DATE_FORMAT(r.enforcement_time,'%Y-%m-%d') &gt;= STR_TO_DATE(#{beginEnforcementTime},'%Y-%m-%d')
</if> </if>

Loading…
Cancel
Save