Browse Source

权限提交上去

v6
蟑螂恶霸 2 years ago
parent
commit
8587003c99
  1. 10
      lib/EmergencyBaseLib/EmergencyCommon/src/main/java/com/zdxt/common/annotation/DataScope.java
  2. 1
      lib/EmergencyBaseLib/EmergencyCommonEntity/src/main/java/com/zdxt/domain/auth/Dept.java
  3. 46
      lib/EmergencyBaseLib/EmergencyCommonmDatascope/src/main/java/com/zdxt/common/datascope/aspect/DataScopeAspect.java
  4. 1
      lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/feign/DeptApiImpl.java
  5. 2
      lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/framework/config/CorsFilter.java
  6. 2
      lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/role/service/RoleServiceImpl.java
  7. 3
      lib/EmergencyService/zdxtEmergencyAuthService/src/main/resources/mapper/system/DeptMapper.xml
  8. 533
      lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/static/statistical/scripts/charts-analyov.js
  9. 202
      lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/code/statistical/overall-analysis.html
  10. 108
      lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/code/statistical/single-analysis.html
  11. 115
      lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/controller/StatisticalPanelController.java
  12. 22
      lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/domain/SixAnalysisParams.java
  13. 5
      lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/mapper/StatisticalPanelMapper.java
  14. 18
      lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/StatisticalPaneService.java
  15. 166
      lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/StatisticalPaneServiceImpl.java
  16. 8
      lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/ThirdLoginServiceImpl.java
  17. 195
      lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/resources/mapper/StatisticalPanelMapper.xml
  18. 11
      lib/EmergencyServiceApi/emergencyAuthServiceApi/src/main/java/com/zdxt/auth/dto/DeptBean.java

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

@ -21,4 +21,14 @@ public @interface DataScope
* 用户表的别名 * 用户表的别名
*/ */
public String userAlias() default ""; public String userAlias() default "";
/**
* 部门id替换字段
*/
public String deptField() default "";
/**
* 用户id替换字段
*/
public String userField() default "";
} }

1
lib/EmergencyBaseLib/EmergencyCommonEntity/src/main/java/com/zdxt/domain/auth/Dept.java

@ -126,6 +126,7 @@ public class Dept extends BaseDomain {
/** /**
* 角色左侧树状图区分 * 角色左侧树状图区分
* 1:市直; 2:区; 3:区直; 4:街道
*/ */
private Integer zone; private Integer zone;

46
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.userAlias(), controllerDataScope.deptField(), controllerDataScope.userField());
} }
}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.userAlias(), controllerDataScope.deptField(), controllerDataScope.userField());
} }
} }
} }
@ -125,7 +125,7 @@ public class DataScopeAspect {
* @param user 用户 * @param user 用户
* @param userAlias 别名 * @param userAlias 别名
*/ */
public static void dataScopeFilter(JoinPoint joinPoint, User user, String deptAlias, String userAlias) { public static void dataScopeFilter(JoinPoint joinPoint, User user, String deptAlias, String userAlias, String deptField, String userField) {
StringBuilder sqlString = new StringBuilder(); StringBuilder sqlString = new StringBuilder();
for (Role role : user.getRoles()) { for (Role role : user.getRoles()) {
@ -135,41 +135,81 @@ public class DataScopeAspect {
break; break;
} else if (DATA_SCOPE_CUSTOM.equals(dataScope)) { } else if (DATA_SCOPE_CUSTOM.equals(dataScope)) {
if(StringUtils.isEmpty(deptAlias)){ if(StringUtils.isEmpty(deptAlias)){
if(!StringUtils.isEmpty(deptField)){
sqlString.append(StringUtils.format(
" OR {} IN ( SELECT dept_id FROM sys_role_dept WHERE role_id = {} ) ", deptField,
role.getRoleId()));
} else {
sqlString.append(StringUtils.format( sqlString.append(StringUtils.format(
" OR {} dept_id IN ( SELECT dept_id FROM sys_role_dept WHERE role_id = {} ) ", deptAlias, " OR {} dept_id IN ( SELECT dept_id FROM sys_role_dept WHERE role_id = {} ) ", deptAlias,
role.getRoleId())); role.getRoleId()));
}
}else{ }else{
if(!StringUtils.isEmpty(deptField)){
sqlString.append(StringUtils.format(
" OR {}.{} IN ( SELECT dept_id FROM sys_role_dept WHERE role_id = {} ) ", deptAlias, deptField,
role.getRoleId()));
} else {
sqlString.append(StringUtils.format( sqlString.append(StringUtils.format(
" OR {}.dept_id IN ( SELECT dept_id FROM sys_role_dept WHERE role_id = {} ) ", deptAlias, " OR {}.dept_id IN ( SELECT dept_id FROM sys_role_dept WHERE role_id = {} ) ", deptAlias,
role.getRoleId())); role.getRoleId()));
} }
}
} else if (DATA_SCOPE_DEPT.equals(dataScope)) { } else if (DATA_SCOPE_DEPT.equals(dataScope)) {
//别名为空 //别名为空
if(StringUtils.isEmpty(deptAlias)) { if(StringUtils.isEmpty(deptAlias)) {
if(!StringUtils.isEmpty(deptField)){
sqlString.append(StringUtils.format(" OR {} = '{}' ", deptField, user.getDeptId()));
} else {
sqlString.append(StringUtils.format(" OR {} dept_id = '{}' ", deptAlias, user.getDeptId())); sqlString.append(StringUtils.format(" OR {} dept_id = '{}' ", deptAlias, user.getDeptId()));
}
}else{ }else{
//别名不为空 //别名不为空
if(!StringUtils.isEmpty(deptField)){
sqlString.append(StringUtils.format(" OR {}.{} = '{}' ", deptAlias, deptField, user.getDeptId()));
} else {
sqlString.append(StringUtils.format(" OR {}.dept_id = '{}' ", deptAlias, user.getDeptId())); sqlString.append(StringUtils.format(" OR {}.dept_id = '{}' ", deptAlias, user.getDeptId()));
} }
}
} else if (DATA_SCOPE_DEPT_AND_CHILD.equals(dataScope)) { } else if (DATA_SCOPE_DEPT_AND_CHILD.equals(dataScope)) {
if(StringUtils.isEmpty(deptAlias)){ if(StringUtils.isEmpty(deptAlias)){
if(!StringUtils.isEmpty(deptField)){
sqlString.append(StringUtils.format(
" OR {} IN ( SELECT dept_id FROM sys_dept WHERE dept_id = '{}' or find_in_set( '{}' , ancestors ) <> 0 )",
deptField, user.getDeptId(), user.getDeptId()));
} else {
sqlString.append(StringUtils.format( sqlString.append(StringUtils.format(
" OR {} dept_id IN ( SELECT dept_id FROM sys_dept WHERE dept_id = '{}' or find_in_set( '{}' , ancestors ) <> 0 )", " OR {} dept_id IN ( SELECT dept_id FROM sys_dept WHERE dept_id = '{}' or find_in_set( '{}' , ancestors ) <> 0 )",
deptAlias, user.getDeptId(), user.getDeptId())); deptAlias, user.getDeptId(), user.getDeptId()));
}
}else{ }else{
if(!StringUtils.isEmpty(deptField)){
sqlString.append(StringUtils.format(
" OR {}.{} IN ( SELECT dept_id FROM sys_dept WHERE dept_id = '{}' or find_in_set( '{}' , ancestors ) <> 0 )",
deptAlias, deptField, user.getDeptId(), user.getDeptId()));
} else {
sqlString.append(StringUtils.format( sqlString.append(StringUtils.format(
" OR {}.dept_id IN ( SELECT dept_id FROM sys_dept WHERE dept_id = '{}' or find_in_set( '{}' , ancestors ) <> 0 )", " OR {}.dept_id IN ( SELECT dept_id FROM sys_dept WHERE dept_id = '{}' or find_in_set( '{}' , ancestors ) <> 0 )",
deptAlias, user.getDeptId(), user.getDeptId())); deptAlias, user.getDeptId(), user.getDeptId()));
} }
}
} else if (DATA_SCOPE_SELF.equals(dataScope)) { } else if (DATA_SCOPE_SELF.equals(dataScope)) {
if(StringUtils.isEmpty(userAlias)){ if(StringUtils.isEmpty(userAlias)){
if(!StringUtils.isEmpty(userField)){
sqlString.append(StringUtils.format(" OR {} = {} ", userField, user.getUserId()));
} else {
sqlString.append(StringUtils.format(" OR {} user_id = {} ", userAlias, user.getUserId())); sqlString.append(StringUtils.format(" OR {} user_id = {} ", userAlias, user.getUserId()));
}
}else{ }else{
if(!StringUtils.isEmpty(userField)){
sqlString.append(StringUtils.format(" OR {}.{} = {} ", userAlias, userField, user.getUserId()));
} else {
sqlString.append(StringUtils.format(" OR {}.user_id = {} ", userAlias, user.getUserId())); sqlString.append(StringUtils.format(" OR {}.user_id = {} ", userAlias, user.getUserId()));
} }
} }
} }
}
if (StringUtils.isNotBlank(sqlString.toString())) { if (StringUtils.isNotBlank(sqlString.toString())) {
BaseDomain baseEntity = (BaseDomain) joinPoint.getArgs()[0]; BaseDomain baseEntity = (BaseDomain) joinPoint.getArgs()[0];
// Map<String, Object> arr = new HashMap<>(); // Map<String, Object> arr = new HashMap<>();

1
lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/feign/DeptApiImpl.java

@ -100,6 +100,7 @@ public class DeptApiImpl implements DeptApi {
@Override @Override
@DataScope
public List<DeptBean> getDeptList(DeptBean deptBean) { public List<DeptBean> getDeptList(DeptBean deptBean) {
Dept dept = new Dept(); Dept dept = new Dept();
BeanUtil.copyProperties(deptBean, dept); BeanUtil.copyProperties(deptBean, dept);

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

@ -32,7 +32,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://localhost:3301","http://10.132.108.3:81","http://10.132.108.3:85"}; "http://localhost:3301","http://10.132.108.3:81","http://10.132.108.3:85", "http://192.168.1.130:3301"};
String authost = ""; String authost = "";
HttpServletRequest httprequest = (HttpServletRequest) request; HttpServletRequest httprequest = (HttpServletRequest) request;
String origin = httprequest.getHeader("Origin"); String origin = httprequest.getHeader("Origin");

2
lib/EmergencyService/zdxtEmergencyAuthService/src/main/java/com/zdxt/auth/project/system/role/service/RoleServiceImpl.java

@ -56,7 +56,7 @@ public class RoleServiceImpl implements IRoleService {
* @return 角色数据集合信息 * @return 角色数据集合信息
*/ */
@Override @Override
@DataScope(deptAlias = "r") @DataScope(userAlias = "u", deptAlias = "u")
public List<Role> selectRoleList(Role role) { public List<Role> selectRoleList(Role role) {
return roleMapper.selectRoleList(role); return roleMapper.selectRoleList(role);
} }

3
lib/EmergencyService/zdxtEmergencyAuthService/src/main/resources/mapper/system/DeptMapper.xml

@ -165,6 +165,9 @@
#{item} #{item}
</foreach> </foreach>
</if> </if>
<if test="zone != null and zone != ''">
AND zone = #{zone}
</if>
<!-- 租户数据过滤 --> <!-- 租户数据过滤 -->
<if test="tenantCode != @com.zdxt.auth.common.constant.Constants@DEFAULT_TENANT_CODE and tenantCode != null and tenantCode != ''"> <if test="tenantCode != @com.zdxt.auth.common.constant.Constants@DEFAULT_TENANT_CODE and tenantCode != null and tenantCode != ''">
AND d.tenant_code = #{tenantCode} AND d.tenant_code = #{tenantCode}

533
lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/static/statistical/scripts/charts-analyov.js

@ -1,40 +1,185 @@
//*****************统计分析图表 //*****************统计分析图表
$(function(){ $(function(){
sixIndicators_area(); chartArea();
reg_type(); chartRegType();
enterprise_type(); chartEnterpriseType();
complaint_type(); chartComplaintType();
reg_order(); chartReg_order();
complaint_order(); chartComplaint_order();
bureau_order(); chartBureau_order();
// sixIndicators_area();
// reg_type(null);
// enterprise_type(null);
// complaint_type(null);
// reg_order(null);
// complaint_order(null);
// bureau_order(null);
}); });
var area_chart = null;
var reg_type_chart = null;
var enterprise_type_chart = null;
var complaint_type_chart = null;
var reg_order_chart = null;
var complaint_order_chart = null;
var bureau_order_chart = null;
/** 各区综合分析 */ /** 各区综合分析 */
function sixIndicators_area() { function sixIndicators_area(qy) {
$.ajax({ $.ajax({
url: ctx + "code/statisticalPanel/sixIndicators_area", url: ctx + "code/statisticalPanel/sixIndicators_area",
type: "get", type: "get",
data: {dateType: "year", year:"2025"}, data: {dateType: "year", year:"2025", qy:qy},
success: function(res) { success: function(res) {
if(res.success) { if(res.success) {
chartArea(res.data); // chartArea(res.data);
var areas = [];
var registrations = [];
var unite_registrations = [];
var lawEnforcements = [];
var complaints = [];
var warnings = [];
var enterprises = [];
for(var i=0; i<res.data.length; i++) {
var indicator = res.data[i];
areas.push(indicator.area);
var nums = indicator.list;
for(var j=0; j<nums.length; j++) {
if (nums[j].title == "涉企检查次数") {
registrations.push(nums[j].num);
}
if (nums[j].title == "联合检查次数") {
unite_registrations.push(nums[j].num);
}
if (nums[j].title == "行政检查预告次数") {
lawEnforcements.push(nums[j].num);
}
if (nums[j].title == "涉企投诉次数") {
complaints.push(nums[j].num);
}
if (nums[j].title == "执法预警次数") {
warnings.push(nums[j].num);
}
if (nums[j].title == "企业数量") {
enterprises.push(nums[j].num);
}
}
}
area_chart.setOption({
xAxis: [{data:areas}],
series: [
{
name:'涉企检查次数',
type:'bar',
barWidth: '10%',
showBackground: true,
backgroundStyle: {
borderRadius: [10, 10, 0, 0]
},
data:registrations,
color:'#7ca9fb',
itemStyle: {
borderRadius: [10, 10, 0, 0]
} }
}, },
error: function (error) { {
name:'联合检查次数',
type:'bar',
barWidth: '10%',
showBackground: true,
backgroundStyle: {
borderRadius: [10, 10, 0, 0]
},
data:unite_registrations,
color:'#7afdfb',
itemStyle: {
borderRadius: [10, 10, 0, 0]
}
},
{
name:'行政检查预告次数',
type:'bar',
barWidth: '10%',
showBackground: true,
backgroundStyle: {
borderRadius: [10, 10, 0, 0]
},
data:lawEnforcements,
color:'#8ffd87',
itemStyle: {
borderRadius: [10, 10, 0, 0]
}
},
{
name:'涉企投诉次数',
type:'bar',
barWidth: '10%',
showBackground: true,
backgroundStyle: {
borderRadius: [10, 10, 0, 0]
},
data:complaints,
color:'#fd8787',
itemStyle: {
borderRadius: [10, 10, 0, 0]
}
},
{
name:'执法预警次数',
type:'bar',
barWidth: '10%',
showBackground: true,
backgroundStyle: {
borderRadius: [10, 10, 0, 0]
},
data:warnings,
color:'#fdcc87',
itemStyle: {
borderRadius: [10, 10, 0, 0]
}
},
{
name:'企业数量',
type:'bar',
barWidth: '10%',
showBackground: true,
backgroundStyle: {
borderRadius: [10, 10, 0, 0]
},
data:enterprises,
color:'#a1d4f5',
itemStyle: {
borderRadius: [10, 10, 0, 0]
}
}
]
});
}
}, error: function (error) {
$.modal.alertWarning("获取分析数据失败。"); $.modal.alertWarning("获取分析数据失败。");
} }
}); });
} }
/** 检查类别数量及占比 */ /** 检查类别数量及占比 */
function reg_type() { function reg_type(qy) {
$.ajax({ $.ajax({
url: ctx + "code/registration/echarts1", // url: ctx + "code/registration/echarts1",
type: "post", url: ctx + "code/statisticalPanel/staisticalCheck_category",
data: {year: '2025', dateSearch: 'year'}, type: "get",
data: {year: '2025', dateSearch: 'year', qy:qy},
success: function(res) { success: function(res) {
chartRegType(res); var types = []
for (var i=0; i<res.data.length; i++) {
if (res.data[i].num > 0)
types.push({value: res.data[i].num, name: res.data[i].category});
}
reg_type_chart.setOption({
series: [{data:types}]
});
}, },
error: function (error) { error: function (error) {
$.modal.alertWarning("获取分析数据失败。"); $.modal.alertWarning("获取分析数据失败。");
@ -43,13 +188,21 @@ function reg_type() {
} }
/** 企业类别数量及占比 */ /** 企业类别数量及占比 */
function enterprise_type() { function enterprise_type(qy) {
$.ajax({ $.ajax({
url: ctx + "code/statisticsEnterprise/type", url: ctx + "code/statisticalPanel/staisticalEnterprise_category",
// url: ctx + "code/statisticsEnterprise/type",
type: "get", type: "get",
data: {}, data: {qy:qy},
success: function(res) { success: function(res) {
chartEnterpriseType(res); var types = []
for (var i=0; i<res.data.length; i++) {
if (res.data[i].value > 0)
types.push({value: res.data[i].value, name: res.data[i].name});
}
enterprise_type_chart.setOption({
series: [{data:types}]
});
}, },
error: function (error) { error: function (error) {
$.modal.alertWarning("获取分析数据失败。"); $.modal.alertWarning("获取分析数据失败。");
@ -58,13 +211,21 @@ function enterprise_type() {
} }
/** 投诉类别数量及占比 */ /** 投诉类别数量及占比 */
function complaint_type() { function complaint_type(qy) {
$.ajax({ $.ajax({
url: ctx + "code/complaintStatic/list2", // url: ctx + "code/complaintStatic/list2",
type: "post", url: ctx + "code/statisticalPanel/staisticalEnforce_type",
data: {dateSearch:'year', year:'2025'}, type: "get",
data: {dateSearch:'year', year:'2025', qy:qy},
success: function(res) { success: function(res) {
chartComplaintType(res.rows); var types = []
for (var i = 0; i < res.data.length; i++) {
if (res.data[i].num > 0)
types.push({value: res.data[i].num, name: res.data[i].type});
}
complaint_type_chart.setOption({
series: [{data:types}]
});
}, },
error: function (error) { error: function (error) {
$.modal.alertWarning("获取分析数据失败。"); $.modal.alertWarning("获取分析数据失败。");
@ -73,13 +234,25 @@ function complaint_type() {
} }
/** 被检查企业次数排行 */ /** 被检查企业次数排行 */
function reg_order() { function reg_order(qy) {
$.ajax({ $.ajax({
url: ctx + "code/statisticalPanel/staisticalRegistration_order", url: ctx + "code/statisticalPanel/staisticalRegistration_order",
type: "get", type: "get",
data: {dateType:'year', year:'2025'}, data: {dateType:'year', year:'2025', qy:qy},
success: function(res) { success: function(res) {
chartReg_order(res.data); var datas = res.data;
var top_num = 10;
if (datas.length < top_num) top_num = datas.length;
var names = [];
var nums = [];
for (var i=0; i<top_num; i++) {
names.push(datas[i].enterprise_name);
nums.push(datas[i].num);
}
reg_order_chart.setOption({
xAxis: [{data:names}],
series: [{data:nums}]
});
}, },
error: function (error) { error: function (error) {
$.modal.alertWarning("获取分析数据失败。"); $.modal.alertWarning("获取分析数据失败。");
@ -88,13 +261,26 @@ function reg_order() {
} }
/** 被投诉单位排行 */ /** 被投诉单位排行 */
function complaint_order() { function complaint_order(qy) {
$.ajax({ $.ajax({
url: ctx + "code/statisticalPanel/staisticalComplaint_order", url: ctx + "code/statisticalPanel/staisticalComplaint_order",
type: "get", type: "get",
data: {dateType:'year', year:'2025'}, data: {dateType:'year', year:'2025', qy:qy},
success: function(res) { success: function(res) {
chartComplaint_order(res.data); var datas = res.data;
var top_num = 10;
if (datas.length < top_num) top_num = datas.length;
var names = [];
var nums = [];
for (var i=0; i<top_num; i++) {
if(null==datas[i].complaint_department || 'null'==datas[i].complaint_department) continue;
names.push(datas[i].complaint_department);
nums.push(datas[i].num);
}
complaint_order_chart.setOption({
xAxis: [{data:names}],
series: [{data:nums}]
});
}, },
error: function (error) { error: function (error) {
$.modal.alertWarning("获取分析数据失败。"); $.modal.alertWarning("获取分析数据失败。");
@ -103,13 +289,25 @@ function complaint_order() {
} }
/** 执法检查数量排行 */ /** 执法检查数量排行 */
function bureau_order() { function bureau_order(qy) {
$.ajax({ $.ajax({
url: ctx + "code/statisticalPanel/staisticalBureau_order", url: ctx + "code/statisticalPanel/staisticalBureau_order",
type: "get", type: "get",
data: {dateType:'year', year:'2025'}, data: {dateType:'year', year:'2025', qy:qy},
success: function(res) { success: function(res) {
chartBureau_order(res.data); var datas = res.data;
var top_num = 10;
if (datas.length < top_num) top_num = datas.length;
var names = [];
var nums = [];
for (var i=0; i<top_num; i++) {
names.push(datas[i].bureau_dept_name);
nums.push(datas[i].num);
}
bureau_order_chart.setOption({
xAxis: [{data:names}],
series: [{data:nums}]
});
}, },
error: function (error) { error: function (error) {
$.modal.alertWarning("获取分析数据失败。"); $.modal.alertWarning("获取分析数据失败。");
@ -120,44 +318,9 @@ function bureau_order() {
/*******综合数据***********/ /*******综合数据***********/
/*******各区综合数据***********/
// 基于准备好的dom,初始化echarts实例 function chartArea() {
function chartArea(datas) { area_chart = echarts.init(document.getElementById('countDistrict'));
var areas = [];
var registrations = [];
var unite_registrations = [];
var lawEnforcements = [];
var complaints = [];
var warnings = [];
var enterprises = [];
for(var i=0; i<datas.length; i++) {
var indicator = datas[i];
areas.push(indicator.area);
var nums = indicator.list;
for(var j=0; j<nums.length; j++) {
if (nums[j].title == "涉企检查次数") {
registrations.push(nums[j].num);
}
if (nums[j].title == "联合检查次数") {
unite_registrations.push(nums[j].num);
}
if (nums[j].title == "行政检查预告次数") {
lawEnforcements.push(nums[j].num);
}
if (nums[j].title == "涉企投诉次数") {
complaints.push(nums[j].num);
}
if (nums[j].title == "执法预警次数") {
warnings.push(nums[j].num);
}
if (nums[j].title == "企业数量") {
enterprises.push(nums[j].num);
}
}
}
var myChart = echarts.init(document.getElementById('countDistrict'));
// 指定图表的配置项和数据 // 指定图表的配置项和数据
var option = { var option = {
@ -198,8 +361,7 @@ function chartArea(datas) {
xAxis : [ xAxis : [
{ {
type : 'category', type : 'category',
// data : ['福田区','罗湖区','南山区','盐田区','宝安区','龙岗区','龙华区','坪山区','光明区','大鹏新区','深汕特别合作区'], data : ['福田区','罗湖区','盐田区','南山区','宝安区','龙岗区','龙华区','坪山区','光明区','大鹏新区','深汕特别合作区'],
data : areas,
axisLine: {show: false}, axisLine: {show: false},
axisTick: {show: false}, axisTick: {show: false},
axisLabel: { axisLabel: {
@ -234,7 +396,6 @@ function chartArea(datas) {
} }
], ],
series : [ series : [
{ {
name:'涉企检查次数', name:'涉企检查次数',
type:'bar', type:'bar',
@ -243,8 +404,7 @@ function chartArea(datas) {
backgroundStyle: { backgroundStyle: {
borderRadius: [10, 10, 0, 0] borderRadius: [10, 10, 0, 0]
}, },
// data:[13078, 13980, 15687, 6093, 12092, 16073, 9087,7254,8088,3021,4596], data:[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
data: registrations,
color:'#7ca9fb', color:'#7ca9fb',
itemStyle: { itemStyle: {
borderRadius: [10, 10, 0, 0] borderRadius: [10, 10, 0, 0]
@ -258,8 +418,7 @@ function chartArea(datas) {
backgroundStyle: { backgroundStyle: {
borderRadius: [10, 10, 0, 0] borderRadius: [10, 10, 0, 0]
}, },
// data:[13078, 13980, 15687, 6093, 12092, 16073, 9087,7254,8088,3021,4596], data:[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
data: unite_registrations,
color:'#7afdfb', color:'#7afdfb',
itemStyle: { itemStyle: {
borderRadius: [10, 10, 0, 0] borderRadius: [10, 10, 0, 0]
@ -273,8 +432,7 @@ function chartArea(datas) {
backgroundStyle: { backgroundStyle: {
borderRadius: [10, 10, 0, 0] borderRadius: [10, 10, 0, 0]
}, },
// data:[13078, 13980, 15687, 6093, 12092, 16073, 9087,7254,8088,3021,4596], data:[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
data: lawEnforcements,
color:'#8ffd87', color:'#8ffd87',
itemStyle: { itemStyle: {
borderRadius: [10, 10, 0, 0] borderRadius: [10, 10, 0, 0]
@ -288,28 +446,26 @@ function chartArea(datas) {
backgroundStyle: { backgroundStyle: {
borderRadius: [10, 10, 0, 0] borderRadius: [10, 10, 0, 0]
}, },
// data:[138, 139, 156, 93, 10, 160, 90, 72, 80, 30, 45], data:[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
data: complaints,
color:'#fd8787', color:'#fd8787',
itemStyle: { itemStyle: {
borderRadius: [10, 10, 0, 0] borderRadius: [10, 10, 0, 0]
} }
}, },
{ // {
name:'执法预警次数', // name:'执法预警次数',
type:'bar', // type:'bar',
barWidth: '10%', // barWidth: '10%',
showBackground: true, // showBackground: true,
backgroundStyle: { // backgroundStyle: {
borderRadius: [10, 10, 0, 0] // borderRadius: [10, 10, 0, 0]
}, // },
// data:[1378, 1380, 1587, 603, 1092, 1673, 987,754,808,301,496], // data:[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
data: warnings, // color:'#fdcc87',
color:'#fdcc87', // itemStyle: {
itemStyle: { // borderRadius: [10, 10, 0, 0]
borderRadius: [10, 10, 0, 0] // }
} // },
},
{ {
name:'企业数量', name:'企业数量',
type:'bar', type:'bar',
@ -318,8 +474,7 @@ function chartArea(datas) {
backgroundStyle: { backgroundStyle: {
borderRadius: [10, 10, 0, 0] borderRadius: [10, 10, 0, 0]
}, },
// data:[13078, 13980, 15687, 6093, 12092, 16073, 9087,7254,8088,3021,4596], data:[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
data: enterprises,
color:'#a1d4f5', color:'#a1d4f5',
itemStyle: { itemStyle: {
borderRadius: [10, 10, 0, 0] borderRadius: [10, 10, 0, 0]
@ -329,20 +484,15 @@ function chartArea(datas) {
}; };
// 使用刚指定的配置项和数据显示图表。 // 使用刚指定的配置项和数据显示图表。
myChart.setOption(option); area_chart.setOption(option);
window.addEventListener("resize",function(){ window.addEventListener("resize",function(){
myChart.resize(); area_chart.resize();
}); });
} }
/*******检查类别数量及占比***********/ /*******检查类别数量及占比***********/
function chartRegType(datas) { function chartRegType() {
var types = [] reg_type_chart = echarts.init(document.getElementById("countInspect"));
for (var i=0; i<datas.length; i++) {
types.push({value: datas[i].value, name: datas[i].name});
}
var myChart = echarts.init(document.getElementById("countInspect"));
// 圆环图各环节的颜色 // 圆环图各环节的颜色
var option = { var option = {
@ -372,15 +522,7 @@ function chartRegType(datas) {
fontWeight: 'bold' fontWeight: 'bold'
} }
}, },
// data: [ data: [],
// {value: 1048, name: '日常检查'},
// {value: 735, name: '上级交办'},
// {value: 580, name: '其他机关移送'},
// {value: 484, name: '重点领域治理部署'},
// {value: 300, name: '投诉举报'},
// {value: 200, name: '其他'}
// ],
data: types,
color: ['#0038bb', '#0047eb', '#1c60ff', '#3f78ff', '#6592ff', '#9ebafc'], color: ['#0038bb', '#0047eb', '#1c60ff', '#3f78ff', '#6592ff', '#9ebafc'],
} }
] ]
@ -388,20 +530,15 @@ function chartRegType(datas) {
// 使用刚指定的配置项和数据显示图表。 // 使用刚指定的配置项和数据显示图表。
myChart.setOption(option); reg_type_chart.setOption(option);
window.addEventListener("resize", function () { window.addEventListener("resize", function () {
myChart.resize(); reg_type_chart.resize();
}); });
} }
/*******企业类别数量及占比***********/ /*******企业类别数量及占比***********/
function chartEnterpriseType(datas) { function chartEnterpriseType() {
var types = [] enterprise_type_chart = echarts.init(document.getElementById("countCommpany"));
for (var i=0; i<datas.length; i++) {
types.push({value: datas[i].value, name: datas[i].name});
}
var myChart = echarts.init(document.getElementById("countCommpany"));
// 圆环图各环节的颜色 // 圆环图各环节的颜色
var option = { var option = {
@ -432,15 +569,7 @@ function chartEnterpriseType(datas) {
} }
}, },
// data: [ data: [],
// {value: 1048, name: '有限责任公司'},
// {value: 735, name: '股份有限公司'},
// {value: 580, name: '个人独资企业'},
// {value: 484, name: '合伙企业'},
// {value: 300, name: '个体工商户'},
// {value: 200, name: '其他'}
// ],
data: types,
color: ['#0038bb', '#0047eb', '#1c60ff', '#3f78ff', '#6592ff', '#9ebafc'], color: ['#0038bb', '#0047eb', '#1c60ff', '#3f78ff', '#6592ff', '#9ebafc'],
} }
] ]
@ -448,20 +577,15 @@ function chartEnterpriseType(datas) {
// 使用刚指定的配置项和数据显示图表。 // 使用刚指定的配置项和数据显示图表。
myChart.setOption(option); enterprise_type_chart.setOption(option);
window.addEventListener("resize", function () { window.addEventListener("resize", function () {
myChart.resize(); enterprise_type_chart.resize();
}); });
} }
/*******投诉类别数量及占比***********/ /*******投诉类别数量及占比***********/
function chartComplaintType(datas) { function chartComplaintType() {
var types = [] complaint_type_chart = echarts.init(document.getElementById("countComplaint"));
for (var i = 0; i < datas.length; i++) {
types.push({value: datas[i].numInt, name: datas[i].name});
}
var myChart = echarts.init(document.getElementById("countComplaint"));
// 圆环图各环节的颜色 // 圆环图各环节的颜色
var option = { var option = {
@ -491,16 +615,7 @@ function chartComplaintType(datas) {
fontWeight: 'bold' fontWeight: 'bold'
} }
}, },
data: [],
// data: [
// {value: 1048, name: '违法执法'},
// {value: 735, name: '违规执法'},
// {value: 580, name: '执法不文明'},
// {value: 484, name: '选择性执法'},
// {value: 300, name: '其他'},
// {value: 200, name: '入企不扫码'}
// ],
data: types,
color: ['#0038bb', '#0047eb', '#1c60ff', '#3f78ff', '#6592ff', '#9ebafc'], color: ['#0038bb', '#0047eb', '#1c60ff', '#3f78ff', '#6592ff', '#9ebafc'],
} }
] ]
@ -508,31 +623,16 @@ function chartComplaintType(datas) {
// 使用刚指定的配置项和数据显示图表。 // 使用刚指定的配置项和数据显示图表。
myChart.setOption(option); complaint_type_chart.setOption(option);
window.addEventListener("resize", function () { window.addEventListener("resize", function () {
myChart.resize(); complaint_type_chart.resize();
}); });
} }
/*******被检查企业次数排行***********/ /*******被检查企业次数排行***********/
function chartReg_order() {
function chartReg_order(datas) {
var top_num = 10;
if (datas.length < top_num) top_num = datas.length;
var names = [];
var nums = [];
for (var i=0; i<top_num; i++) {
names.push(datas[i].enterprise_name);
nums.push(datas[i].num);
}
// 基于准备好的dom,初始化echarts实例 // 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('rankCommpany')); reg_order_chart = echarts.init(document.getElementById('rankCommpany'));
// 指定图表的配置项和数据 // 指定图表的配置项和数据
var option = { var option = {
@ -565,8 +665,7 @@ function chartComplaintType(datas) {
xAxis : [ xAxis : [
{ {
type : 'category', type : 'category',
// data : ['深圳市喜味多食品有限公司','深圳市喜味多食品有限公司','深圳市喜味多食品有限公司','深圳市喜味多食品有限公司','深圳市喜味多食品有限公司','深圳市喜味多食品有限公司','深圳市喜味多食品有限公司','深圳市喜味多食品有限公司','深圳市喜味多食品有限公司','深圳市喜味多食品有限公司'], data : [],
data : names,
axisLine: {show: false}, axisLine: {show: false},
axisTick: {show: false}, axisTick: {show: false},
axisLabel: { axisLabel: {
@ -610,8 +709,7 @@ function chartComplaintType(datas) {
backgroundStyle: { backgroundStyle: {
borderRadius: [10, 10, 0, 0] borderRadius: [10, 10, 0, 0]
}, },
// data:[13, 12, 11, 9, 8, 7, 6, 5, 5, 4], data:[],
data:nums,
color:'#7ca9fb', color:'#7ca9fb',
itemStyle: { itemStyle: {
borderRadius: [10, 10, 0, 0] borderRadius: [10, 10, 0, 0]
@ -624,31 +722,16 @@ function chartComplaintType(datas) {
// 使用刚指定的配置项和数据显示图表。 // 使用刚指定的配置项和数据显示图表。
myChart.setOption(option); reg_order_chart.setOption(option);
window.addEventListener("resize",function(){ window.addEventListener("resize",function(){
myChart.resize(); reg_order_chart.resize();
}); });
} }
/*******被投诉单位排行***********/ /*******被投诉单位排行***********/
function chartComplaint_order() {
function chartComplaint_order(datas) {
console.log('----->: ', datas);
var top_num = 10;
if (datas.length < top_num) top_num = datas.length;
var names = [];
var nums = [];
for (var i=0; i<top_num; i++) {
if(null==datas[i].complaint_department || 'null'==datas[i].complaint_department) continue;
names.push(datas[i].complaint_department);
nums.push(datas[i].num);
}
// 基于准备好的dom,初始化echarts实例 // 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('rankComplaint')); complaint_order_chart = echarts.init(document.getElementById('rankComplaint'));
// 指定图表的配置项和数据 // 指定图表的配置项和数据
var option = { var option = {
@ -681,8 +764,7 @@ function chartComplaintType(datas) {
xAxis : [ xAxis : [
{ {
type : 'category', type : 'category',
// data : ['深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局'], data : [],
data : names,
axisLine: {show: false}, axisLine: {show: false},
axisTick: {show: false}, axisTick: {show: false},
axisLabel: { axisLabel: {
@ -719,15 +801,14 @@ function chartComplaintType(datas) {
series : [ series : [
{ {
name:'被检查企业次数', name:'被投诉单位被投诉数量排行',
type:'bar', type:'bar',
barWidth: '25%', barWidth: '25%',
showBackground: true, showBackground: true,
backgroundStyle: { backgroundStyle: {
borderRadius: [10, 10, 0, 0] borderRadius: [10, 10, 0, 0]
}, },
// data:[13, 12, 11, 9, 8, 7, 6, 5, 5, 4], data: [],
data: nums,
color:'#7ca9fb', color:'#7ca9fb',
itemStyle: { itemStyle: {
borderRadius: [10, 10, 0, 0] borderRadius: [10, 10, 0, 0]
@ -740,27 +821,16 @@ function chartComplaintType(datas) {
// 使用刚指定的配置项和数据显示图表。 // 使用刚指定的配置项和数据显示图表。
myChart.setOption(option); complaint_order_chart.setOption(option);
window.addEventListener("resize",function(){ window.addEventListener("resize",function(){
myChart.resize(); complaint_order_chart.resize();
}); });
} }
/*******执法检查数量排行***********/ /*******执法检查数量排行***********/
function chartBureau_order() {
function chartBureau_order(datas) {
var top_num = 10;
if (datas.length < top_num) top_num = datas.length;
var names = [];
var nums = [];
for (var i=0; i<top_num; i++) {
names.push(datas[i].bureau_dept_name);
nums.push(datas[i].num);
}
// 基于准备好的dom,初始化echarts实例 // 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('rankInspect')); bureau_order_chart = echarts.init(document.getElementById('rankInspect'));
// 指定图表的配置项和数据 // 指定图表的配置项和数据
var option = { var option = {
@ -793,8 +863,7 @@ function chartComplaintType(datas) {
xAxis : [ xAxis : [
{ {
type : 'category', type : 'category',
// data : ['深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局'], data : [],
data : names,
axisLine: {show: false}, axisLine: {show: false},
axisTick: {show: false}, axisTick: {show: false},
axisLabel: { axisLabel: {
@ -838,8 +907,7 @@ function chartComplaintType(datas) {
backgroundStyle: { backgroundStyle: {
borderRadius: [10, 10, 0, 0] borderRadius: [10, 10, 0, 0]
}, },
// data:[13, 12, 11, 9, 8, 7, 6, 5, 5, 4], data:[],
data:nums,
color:'#7ca9fb', color:'#7ca9fb',
itemStyle: { itemStyle: {
borderRadius: [10, 10, 0, 0] borderRadius: [10, 10, 0, 0]
@ -852,9 +920,9 @@ function chartComplaintType(datas) {
// 使用刚指定的配置项和数据显示图表。 // 使用刚指定的配置项和数据显示图表。
myChart.setOption(option); bureau_order_chart.setOption(option);
window.addEventListener("resize",function(){ window.addEventListener("resize",function(){
myChart.resize(); bureau_order_chart.resize();
}); });
} }
@ -863,7 +931,6 @@ function chartComplaintType(datas) {
/*******职权使用率排行***********/ /*******职权使用率排行***********/
// 基于准备好的dom,初始化echarts实例 // 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('powerUse')); var myChart = echarts.init(document.getElementById('powerUse'));
@ -898,7 +965,8 @@ function chartComplaintType(datas) {
xAxis : [ xAxis : [
{ {
type : 'category', type : 'category',
data : ['深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局'], // data : ['深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局'],
data : [],
axisLine: {show: false}, axisLine: {show: false},
axisTick: {show: false}, axisTick: {show: false},
axisLabel: { axisLabel: {
@ -942,7 +1010,8 @@ function chartComplaintType(datas) {
backgroundStyle: { backgroundStyle: {
borderRadius: [10, 10, 0, 0] borderRadius: [10, 10, 0, 0]
}, },
data:[13, 12, 11, 9, 8, 7, 6, 5, 5, 4], // data:[13, 12, 11, 9, 8, 7, 6, 5, 5, 4],
data:[],
color:'#7ca9fb', color:'#7ca9fb',
itemStyle: { itemStyle: {
borderRadius: [10, 10, 0, 0] borderRadius: [10, 10, 0, 0]
@ -999,7 +1068,8 @@ function chartComplaintType(datas) {
xAxis : [ xAxis : [
{ {
type : 'category', type : 'category',
data : ['深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局'], // data : ['深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局'],
data : [],
axisLine: {show: false}, axisLine: {show: false},
axisTick: {show: false}, axisTick: {show: false},
axisLabel: { axisLabel: {
@ -1043,7 +1113,8 @@ function chartComplaintType(datas) {
backgroundStyle: { backgroundStyle: {
borderRadius: [10, 10, 0, 0] borderRadius: [10, 10, 0, 0]
}, },
data:[13, 12, 11, 9, 8, 7, 6, 5, 5, 4], // data:[13, 12, 11, 9, 8, 7, 6, 5, 5, 4],
data:[],
color:'#7ca9fb', color:'#7ca9fb',
itemStyle: { itemStyle: {
borderRadius: [10, 10, 0, 0] borderRadius: [10, 10, 0, 0]
@ -1102,7 +1173,8 @@ function chartComplaintType(datas) {
xAxis : [ xAxis : [
{ {
type : 'category', type : 'category',
data : ['深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局'], // data : ['深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局','深圳市司法局'],
data : [],
axisLine: {show: false}, axisLine: {show: false},
axisTick: {show: false}, axisTick: {show: false},
axisLabel: { axisLabel: {
@ -1146,7 +1218,8 @@ function chartComplaintType(datas) {
backgroundStyle: { backgroundStyle: {
borderRadius: [10, 10, 0, 0] borderRadius: [10, 10, 0, 0]
}, },
data:[13, 12, 11, 9, 8, 7, 6, 5, 5, 4], // data:[13, 12, 11, 9, 8, 7, 6, 5, 5, 4],
data:[],
color:'#7ca9fb', color:'#7ca9fb',
itemStyle: { itemStyle: {
borderRadius: [10, 10, 0, 0] borderRadius: [10, 10, 0, 0]

202
lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/code/statistical/overall-analysis.html

@ -14,30 +14,145 @@
<div class="wrap_all"> <div class="wrap_all">
<div class="select_set"> <div class="select_set">
<div class="select_item"> <div class="select_item">
<label class="select_area">深圳市<a></a></label> <label class="select_area" id="dept_flag">-<a></a></label>
<dl class="fold_cont"> <dl class="fold_cont" id="depts">
<dd class="check_label" onclick="">深圳市</dd> <!-- <dd class="check_label" onclick="">深圳市</dd>-->
<dd class="check_label" onclick="">福田区</dd> <!-- <dd class="check_label" onclick="">福田区</dd>-->
<dd class="check_label" onclick="">罗湖区</dd> <!-- <dd class="check_label" onclick="">罗湖区</dd>-->
<dd class="check_label" onclick="">南山区</dd> <!-- <dd class="check_label" onclick="">南山区</dd>-->
<dd class="check_label" onclick="">盐田区</dd> <!-- <dd class="check_label" onclick="">盐田区</dd>-->
<dd class="check_label" onclick="">宝安区</dd> <!-- <dd class="check_label" onclick="">宝安区</dd>-->
<dd class="check_label" onclick="">龙岗区</dd> <!-- <dd class="check_label" onclick="">龙岗区</dd>-->
<dd class="check_label" onclick="">龙华区</dd> <!-- <dd class="check_label" onclick="">龙华区</dd>-->
<dd class="check_label" onclick="">坪山区</dd> <!-- <dd class="check_label" onclick="">坪山区</dd>-->
<dd class="check_label" onclick="">光明区</dd> <!-- <dd class="check_label" onclick="">光明区</dd>-->
<dd class="check_label" onclick="">大鹏新区</dd> <!-- <dd class="check_label" onclick="">大鹏新区</dd>-->
<dd class="check_label" onclick="">深汕特别合作区</dd> <!-- <dd class="check_label" onclick="">深汕特别合作区</dd>-->
</dl> </dl>
</div> </div>
<div class="select_item"> <!-- <div class="select_item">-->
<label class="select_unit">全市<a></a></label> <!-- <label class="select_unit">全市<a></a></label>-->
</div> <!-- </div>-->
<div class="select_item"> <div class="select_item">
<label class="select_time">2025年第1季度<a></a></label> <label class="select_time">2025年第1季度<a></a></label>
<span>综合数据</span></div> <span>综合数据</span></div>
</div> </div>
<div class="data_cont" id = "sixIndicators"></div> <div class="data_cont" id = "sixIndicators">
<div class="data_item">
<div class="cont-title">涉企检查数量</div>
<div class="cont-total"><b><span id="regis-total">-</span></b>
<div class="nece-data">
<div class="percent-tag">
<label id="">昨日</label>
<span class="data-change" id="">-</span> </div>
<div class="percent-tag">
<label id="">本月</label>
<span class="data-change" id="">-</span> </div>
</div>
</div>
<div class="percent-tag">
<label id="">同比</label>
<span class="data-rise" id=""><i class="fa fa fa-long-arrow-up"></i></span> <span class="data-fall" id="" style="display: none;"><i class="fa fa fa-long-arrow-down"></i></span> <span class="data-change" id="">-%</span> </div>
<div class="percent-tag">
<label id="">环比</label>
<span class="data-rise" id="" style="display: none;"><i class="fa fa fa-long-arrow-up"></i></span> <span class="data-fall" id=""><i class="fa fa fa-long-arrow-down"></i></span> <span class="data-change" id="">-%</span> </div>
</div>
<div class="data_item">
<div class="cont-title">联合检查数量</div>
<div class="cont-total"><b><span id="joint-total">-</span></b>
<div class="nece-data">
<div class="percent-tag">
<label id="">昨日</label>
<span class="data-change" id="">-</span> </div>
<div class="percent-tag">
<label id="">本月</label>
<span class="data-change" id="">-</span> </div>
</div>
</div>
<div class="percent-tag">
<label id="">同比</label>
<span class="data-rise" id=""><i class="fa fa fa-long-arrow-up"></i></span> <span class="data-fall" id="" style="display: none;"><i class="fa fa fa-long-arrow-down"></i></span> <span class="data-change" id="">-%</span> </div>
<div class="percent-tag">
<label id="">环比</label>
<span class="data-rise" id="" style="display: none;"><i class="fa fa fa-long-arrow-up"></i></span> <span class="data-fall" id=""><i class="fa fa fa-long-arrow-down"></i></span> <span class="data-change" id="">-%</span> </div>
</div>
<div class="data_item">
<div class="cont-title">行政检查预告数量</div>
<div class="cont-total"><b><span id="notice-total">-</span></b>
<div class="nece-data">
<div class="percent-tag">
<label id="">昨日</label>
<span class="data-change" id="">-</span> </div>
<div class="percent-tag">
<label id="">本月</label>
<span class="data-change" id="">-</span> </div>
</div>
</div>
<div class="percent-tag">
<label id="">同比</label>
<span class="data-rise" id=""><i class="fa fa fa-long-arrow-up"></i></span> <span class="data-fall" id="" style="display: none;"><i class="fa fa fa-long-arrow-down"></i></span> <span class="data-change" id="">-%</span> </div>
<div class="percent-tag">
<label id="">环比</label>
<span class="data-rise" id="" style="display: none;"><i class="fa fa fa-long-arrow-up"></i></span> <span class="data-fall" id=""><i class="fa fa fa-long-arrow-down"></i></span> <span class="data-change" id="">-%</span> </div>
</div>
<div class="data_item">
<div class="cont-title">涉企投诉数量</div>
<div class="cont-total"><b><span id="regis-total">-</span></b>
<div class="nece-data">
<div class="percent-tag">
<label id="">昨日</label>
<span class="data-change" id="">-</span> </div>
<div class="percent-tag">
<label id="">本月</label>
<span class="data-change" id="">-</span> </div>
</div>
</div>
<div class="percent-tag">
<label id="">同比</label>
<span class="data-rise" id=""><i class="fa fa fa-long-arrow-up"></i></span> <span class="data-fall" id="" style="display: none;"><i class="fa fa fa-long-arrow-down"></i></span> <span class="data-change" id="">-%</span> </div>
<div class="percent-tag">
<label id="">环比</label>
<span class="data-rise" id="" style="display: none;"><i class="fa fa fa-long-arrow-up"></i></span> <span class="data-fall" id=""><i class="fa fa fa-long-arrow-down"></i></span> <span class="data-change" id="">-%</span> </div>
</div>
<div class="data_item">
<div class="cont-title">执法预警数量</div>
<div class="cont-total"><b><span id="regis-total">-</span></b>
<div class="nece-data">
<div class="percent-tag">
<label id="">昨日</label>
<span class="data-change" id="">-</span> </div>
<div class="percent-tag">
<label id="">本月</label>
<span class="data-change" id="">-</span> </div>
</div>
</div>
<div class="percent-tag">
<label id="">同比</label>
<span class="data-rise" id=""><i class="fa fa fa-long-arrow-up"></i></span> <span class="data-fall" id="" style="display: none;"><i class="fa fa fa-long-arrow-down"></i></span> <span class="data-change" id="">-%</span> </div>
<div class="percent-tag">
<label id="">环比</label>
<span class="data-rise" id="" style="display: none;"><i class="fa fa fa-long-arrow-up"></i></span> <span class="data-fall" id=""><i class="fa fa fa-long-arrow-down"></i></span> <span class="data-change" id="">-%</span> </div>
</div>
<div class="data_item">
<div class="cont-title">企业数量</div>
<div class="cont-total"><b><span id="regis-total">-</span></b>
<div class="nece-data">
<div class="percent-tag">
<label id="">昨日</label>
<span class="data-change" id="">-</span> </div>
<div class="percent-tag">
<label id="">本月</label>
<span class="data-change" id="">-</span> </div>
</div>
</div>
<div class="percent-tag">
<label id="">同比</label>
<span class="data-rise" id=""><i class="fa fa fa-long-arrow-up"></i></span> <span class="data-fall" id="" style="display: none;"><i class="fa fa fa-long-arrow-down"></i></span> <span class="data-change" id="">-%</span> </div>
<div class="percent-tag">
<label id="">环比</label>
<span class="data-rise" id="" style="display: none;"><i class="fa fa fa-long-arrow-up"></i></span> <span class="data-fall" id=""><i class="fa fa fa-long-arrow-down"></i></span> <span class="data-change" id="">-%</span> </div>
</div>
</div>
<div class="echarts_box"> <div class="echarts_box">
<div class="inner"> <div class="inner">
<div class="data_cont onebox"> <div class="data_cont onebox">
@ -70,7 +185,7 @@
<div class="chart_box" id="rankCommpany"></div> <div class="chart_box" id="rankCommpany"></div>
</div> </div>
<div class="data_cont threebox"> <div class="data_cont threebox">
<h3 class="chart_tit">被投诉单位排行</h3> <h3 class="chart_tit">被投诉单位被投诉数量排行</h3>
<span class="sel_rank"> <span class="sel_rank">
<select name=""> <select name="">
<option>TOP 10</option> <option>TOP 10</option>
@ -138,14 +253,14 @@
var ctx="/" var ctx="/"
$(function(){ $(function(){
sixIndicators(); queryDept();
}); });
function sixIndicators() { function sixIndicators(qy) {
$.ajax({ $.ajax({
url: ctx + "code/statisticalPanel/sixIndicators", url: ctx + "code/statisticalPanel/sixIndicators",
type: "get", type: "get",
data: {dateType: "year", year:"2025"}, data: {dateType: "year", year:"2025", qy: qy},
success: function(res) { success: function(res) {
if(res.success) { if(res.success) {
const indicators = res.data; const indicators = res.data;
@ -190,6 +305,29 @@
}); });
} }
/** 获取区列表 */
function queryDept() {
$.ajax({
url: ctx + "code/statisticalPanel/queryDept",
type: "get",
data: {zone: "2"},
success: function(res) {
if(res.success) {
const datas = res.data;
var html = '';
if(datas.length >= 11) {
html += '<dd class="check_label" onclick="changeArea(\'2\', '+null+')">全区</dd>';
$("#dept_flag").html('全区')
changeArea('2', null)
} else {
var area = datas[0].deptName;
$("#dept_flag").html(area)
changeArea(datas[0].deptId, area)
}
for(var i=0; i<datas.length; i++) {
html += '<dd class="check_label" onclick="changeArea(\''+datas[i].deptId+'\',\''+datas[i].deptName+'\')">'+datas[i].deptName+'</dd>'
}
$("#depts").html(html);
$('.fold_cont dd:first').addClass('selchk');//给第一个dd追加 $('.fold_cont dd:first').addClass('selchk');//给第一个dd追加
//each遍历元素 //each遍历元素
@ -199,6 +337,26 @@
$(this).addClass('selchk').siblings().removeClass('selchk') $(this).addClass('selchk').siblings().removeClass('selchk')
}) })
}); });
}
},
error: function (error) {
$.modal.alertWarning("获取分析数据失败。");
}
});
}
function changeArea(id, area) {
sixIndicators(area)
sixIndicators_area(area);
reg_type(area);
enterprise_type(area);
complaint_type(area);
reg_order(area);
complaint_order(area);
bureau_order(area);
if (null == area) area = "全区"
$("#dept_flag").html(area)
}
/**********数据子项折叠************/ /**********数据子项折叠************/

108
lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/code/statistical/single-analysis.html

@ -14,18 +14,18 @@
<div class="wrap_all"> <div class="wrap_all">
<div class="select_set"> <div class="select_set">
<div class="select_item"> <div class="select_item">
<label class="select_area">深圳市司法局<a></a></label> <label class="select_area" id="dept_flag">-<a></a></label>
<dl class="fold_cont"> <dl class="fold_cont" id="depts">
<dd class="check_label" onclick="">深圳市司法局</dd> <!-- <dd class="check_label" onclick="">深圳市司法局</dd>-->
<dd class="check_label" onclick="">深圳市发展和改革委员会</dd> <!-- <dd class="check_label" onclick="">深圳市发展和改革委员会</dd>-->
<dd class="check_label" onclick="">深圳市教育局</dd> <!-- <dd class="check_label" onclick="">深圳市教育局</dd>-->
<dd class="check_label" onclick="">深圳市科技创新局</dd> <!-- <dd class="check_label" onclick="">深圳市科技创新局</dd>-->
<dd class="check_label" onclick="">深圳市工业和信息化局</dd> <!-- <dd class="check_label" onclick="">深圳市工业和信息化局</dd>-->
<dd class="check_label" onclick="">深圳市公安局</dd> <!-- <dd class="check_label" onclick="">深圳市公安局</dd>-->
<dd class="check_label" onclick="">深圳市民政局</dd> <!-- <dd class="check_label" onclick="">深圳市民政局</dd>-->
<dd class="check_label" onclick="">深圳市财政局</dd> <!-- <dd class="check_label" onclick="">深圳市财政局</dd>-->
<dd class="check_label" onclick="">深圳市人力资源和社会保障局</dd> <!-- <dd class="check_label" onclick="">深圳市人力资源和社会保障局</dd>-->
<dd class="check_label" onclick="">深圳市规划和自然资源局</dd> <!-- <dd class="check_label" onclick="">深圳市规划和自然资源局</dd>-->
</dl> </dl>
</div> </div>
<div class="select_item"> <div class="select_item">
@ -199,26 +199,26 @@
</div> </div>
<div class="count_wrap com_cate"> <div class="count_wrap com_cate" id="enforce_type">
<h3 class="chart_tit">行政执法投诉类别及占比</h3> <h3 class="chart_tit">行政执法投诉类别及占比</h3>
<div class="count_item"> <div class="count_item">
<label>违法执法</label> <label>违法执法</label>
<span class="number_count">1024</span><span class="number_percent">42.68%</span></div> <span class="number_count">-</span><span class="number_percent">-%</span></div>
<div class="count_item"> <div class="count_item">
<label>违规执法</label> <label>违规执法</label>
<span class="number_count">1024</span><span class="number_percent">42.68%</span></div> <span class="number_count">-</span><span class="number_percent">-%</span></div>
<div class="count_item"> <div class="count_item">
<label>执法不文明</label> <label>执法不文明</label>
<span class="number_count">1024</span><span class="number_percent">42.68%</span></div> <span class="number_count">-</span><span class="number_percent">-%</span></div>
<div class="count_item"> <div class="count_item">
<label>选择性执法</label> <label>选择性执法</label>
<span class="number_count">1024</span><span class="number_percent">42.68%</span></div> <span class="number_count">-</span><span class="number_percent">-%</span></div>
<div class="count_item"> <div class="count_item">
<label>其他</label> <label>其他</label>
<span class="number_count">1024</span><span class="number_percent">42.68%</span></div> <span class="number_count">-</span><span class="number_percent">-%</span></div>
<div class="count_item"> <div class="count_item">
<label>入企不扫码</label> <label>入企不扫码</label>
<span class="number_count">1024</span><span class="number_percent">42.68%</span></div> <span class="number_count">-</span><span class="number_percent">-%</span></div>
</div> </div>
</div> </div>
</div> </div>
@ -267,15 +267,17 @@
var ctx="/" var ctx="/"
$(function(){ $(function(){
sixIndicators(); sixIndicators(null);
checkCategory(); checkCategory();
enforceType();
queryDept();
}); });
function sixIndicators() { function sixIndicators(deptId) {
$.ajax({ $.ajax({
url: ctx + "code/statisticalPanel/sixIndicators", url: ctx + "code/statisticalPanel/sixIndicators",
type: "get", type: "get",
data: {dateType: "year", year:"2025", params:{"zone":1}}, data: {dateType: "year", year:"2025", bureauDeptId: deptId},
success: function(res) { success: function(res) {
if(res.success) { if(res.success) {
const indicators = res.data; const indicators = res.data;
@ -320,13 +322,13 @@
}); });
} }
/** 检查类别 */
function checkCategory() { function checkCategory() {
$.ajax({ $.ajax({
url: ctx + "code/statisticalPanel/staisticalCheck_category", url: ctx + "code/statisticalPanel/staisticalCheck_category",
type: "get", type: "get",
data: {dateType: "year", year:"2025"}, data: {dateType: "year", year:"2025"},
success: function(res) { success: function(res) {
console.log(res);
if(res.success) { if(res.success) {
var html = ""; var html = "";
const datas = res.data; const datas = res.data;
@ -346,15 +348,71 @@
}); });
} }
/** 投诉类型 */
function enforceType() {
$.ajax({
url: ctx + "code/statisticalPanel/staisticalEnforce_type",
type: "get",
data: {dateType: "year", year:"2025"},
success: function(res) {
if(res.success) {
var html = "<h3 class=\"chart_tit\">行政执法投诉类别及占比</h3>";
const datas = res.data;
for(var i=0; i<datas.length; i++) {
html += '<div class="count_item">'
html += ' <label>'+datas[i].type+'</label>'
html += ' <span class="number_count">'+datas[i].num+'</span>';
html += ' <span class="number_percent">'+datas[i].per+'%</span>'
html += '</div>'
}
$("#enforce_type").html(html);
}
},
error: function (error) {
$.modal.alertWarning("获取分析数据失败。");
}
});
}
/** 获取市值列表 */
function queryDept() {
$.ajax({
url: ctx + "code/statisticalPanel/queryDept",
type: "get",
data: {zone: "1"},
success: function(res) {
if(res.success) {
$("#dept_flag").html('全市直')
var html = '<dd class="check_label" onclick="changeArea(\'1\', \'全市直\')">全市直</dd>';
const datas = res.data;
for(var i=0; i<datas.length; i++) {
html += '<dd class="check_label" onclick="changeArea(\''+datas[i].deptId+'\',\''+datas[i].deptName+'\')">'+datas[i].deptName+'</dd>'
}
$("#depts").html(html);
$('.fold_cont dd:first').addClass('selchk');//给第一个dd追加 $('.fold_cont dd:first').addClass('selchk');//给第一个dd追加
//each遍历元素 //each遍历元素
$(".fold_cont dd").each(function () { $(".fold_cont dd").each(function () {
$(this).click(function () { //点击事件 $(this).click(function () { //点击事件
//当点击自身的时候添加,及删除同级的 //当点击自身的时候添加,及删除同级的
$(this).addClass('selchk').siblings().removeClass('selchk') $(this).addClass('selchk').siblings().removeClass('selchk')
}) })
}); });
}
},
error: function (error) {
$.modal.alertWarning("获取分析数据失败。");
}
});
}
function changeArea(id, area) {
console.log(id)
sixIndicators(id);
$("#dept_flag").html(area)
}

115
lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/controller/StatisticalPanelController.java

@ -1,12 +1,16 @@
package com.zdxt.code.controller; package com.zdxt.code.controller;
import com.zdxt.auth.dto.DeptBean;
import com.zdxt.auth.feign.DeptApi;
import com.zdxt.code.domain.ComprehensiveAnalysis; import com.zdxt.code.domain.ComprehensiveAnalysis;
import com.zdxt.code.domain.SixAnalysis;
import com.zdxt.code.domain.SixAnalysisParams; import com.zdxt.code.domain.SixAnalysisParams;
import com.zdxt.code.domain.StatisticsIndicatorPart; import com.zdxt.code.domain.StatisticsIndicatorPart;
import com.zdxt.code.domain.dto.StatisticalPanelDto; import com.zdxt.code.domain.dto.StatisticalPanelDto;
import com.zdxt.code.service.StatisticalPaneService; import com.zdxt.code.service.StatisticalPaneService;
import com.zdxt.common.ZDResponse; import com.zdxt.common.ZDResponse;
import com.zdxt.common.controller.BaseController; import com.zdxt.common.controller.BaseController;
import com.zdxt.domain.auth.Dept;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.Model; import org.springframework.ui.Model;
@ -15,6 +19,9 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseBody;
import java.time.LocalDate;
import java.time.temporal.TemporalAdjusters;
import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
@ -27,6 +34,8 @@ public class StatisticalPanelController extends BaseController {
@Autowired @Autowired
private StatisticalPaneService statisticalPaneService; private StatisticalPaneService statisticalPaneService;
@Autowired private DeptApi deptApi;
@ -120,6 +129,93 @@ public class StatisticalPanelController extends BaseController {
@GetMapping("/sixIndicators") @GetMapping("/sixIndicators")
@ResponseBody @ResponseBody
public ZDResponse sixIndicators(SixAnalysisParams params){ public ZDResponse sixIndicators(SixAnalysisParams params){
// // 获取当前月的 今天 / 第一天
// LocalDate current_day = LocalDate.now(); // 当月的今天
// LocalDate current_one_day = current_day.withDayOfMonth(1); // 当月第一天
// LocalDate current_finally_day = current_day.with(TemporalAdjusters.lastDayOfMonth()); // 当月最后一天
// // 获取上个月的 今天 / 第一天
// LocalDate last_day = current_day.minusMonths(1); // 上月的今天
// LocalDate last_one_day = current_day.minusMonths(1).withDayOfMonth(1); // 上月第一天
// LocalDate last_finally_day = current_day.minusMonths(1).with(TemporalAdjusters.lastDayOfMonth()); // 上月最后一天
//
//
// // 如果当前日期是这个月的最后一天 or 当前月份天>上一月最后一天,则调整到上个月的最后一天
// if (current_day.getDayOfMonth() > last_day.lengthOfMonth() || current_day.equals(current_finally_day)) {
// last_day = last_finally_day;
// }
//
// List<SixAnalysis> all_area=new ArrayList<>();
//
// // 涉企检查数量
// SixAnalysis registration = new SixAnalysis();
// all_area.add(registration);
// registration.setTitle("涉企检查数量");
// int reg_num = statisticalPaneService.staisticalRegistration(params);
// registration.setNum(reg_num);
// registration.setRing_ratio("0");
// registration.setYoy("0");
// // 联合检查数量
// SixAnalysis unite_registration = new SixAnalysis();
// all_area.add(unite_registration);
// unite_registration.setTitle("联合检查数量");
// params.setUniteCheck("0");
// int unite_reg_num = statisticalPaneService.staisticalRegistration(params);
// unite_registration.setNum(unite_reg_num);
// unite_registration.setRing_ratio("0");
// unite_registration.setYoy("0");
// params.setUniteCheck(null);
// // 行政检查预告数量
// SixAnalysis lawEnforcement = new SixAnalysis();
// all_area.add(lawEnforcement);
// lawEnforcement.setTitle("行政检查预告数量");
// int law_num = statisticalPaneService.staisticalLawEnforcement(params);
// lawEnforcement.setNum(law_num);
// lawEnforcement.setRing_ratio("0");
// lawEnforcement.setYoy("0");
// //涉企投诉数量
// SixAnalysis complaint = new SixAnalysis();
// all_area.add(complaint);
// complaint.setTitle("涉企投诉数量");
// int com_num = statisticalPaneService.staisticalComplaint(params);
// complaint.setNum(com_num);
// complaint.setRing_ratio("0");
// complaint.setYoy("0");
// //企业数量
// SixAnalysis enterprise = new SixAnalysis();
// all_area.add(enterprise);
// enterprise.setTitle("企业数量");
// int ent_num = statisticalPaneService.staisticalEnterprise(params);
// enterprise.setNum(ent_num);
// enterprise.setRing_ratio("0");
// enterprise.setYoy("0");
//
// params.setDateType("day");
// /** -------- 本月 -------- */
// params.setBeginTime(current_one_day.toString());
// params.setEndTime(current_finally_day.toString());
//
// registration.setCurrent_month_num(statisticalPaneService.staisticalRegistration(params));
// params.setUniteCheck("0");
// unite_registration.setCurrent_month_num(statisticalPaneService.staisticalRegistration(params));
// params.setUniteCheck(null);
// lawEnforcement.setCurrent_month_num(statisticalPaneService.staisticalLawEnforcement(params));
// complaint.setCurrent_month_num(statisticalPaneService.staisticalComplaint(params));
// enterprise.setCurrent_month_num(statisticalPaneService.staisticalEnterprise(params));
//
// /** -------- 昨天 -------- */
// LocalDate yesterday = LocalDate.now().minusDays(1);
// params.setBeginTime(yesterday.toString());
// params.setEndTime(yesterday.toString());
//
// registration.setYesterday_num(statisticalPaneService.staisticalRegistration(params));
// params.setUniteCheck("0");
// unite_registration.setYesterday_num(statisticalPaneService.staisticalRegistration(params));
// params.setUniteCheck(null);
// lawEnforcement.setYesterday_num(statisticalPaneService.staisticalLawEnforcement(params));
// complaint.setYesterday_num(statisticalPaneService.staisticalComplaint(params));
// enterprise.setYesterday_num(statisticalPaneService.staisticalEnterprise(params));
//
// return ZDResponse.success("总数据统计", all_area);
return ZDResponse.success("总数据统计", statisticalPaneService.sixIndicators(params)); return ZDResponse.success("总数据统计", statisticalPaneService.sixIndicators(params));
} }
@ -151,7 +247,26 @@ public class StatisticalPanelController extends BaseController {
return ZDResponse.success("行政检查类别及占比", statisticalPaneService.staisticalCheck_category(params)); return ZDResponse.success("行政检查类别及占比", statisticalPaneService.staisticalCheck_category(params));
} }
@GetMapping("/staisticalEnterprise_category")
@ResponseBody
public ZDResponse staisticalEnterprise_category(SixAnalysisParams params){
return ZDResponse.success("企业类别及占比", statisticalPaneService.staisticalEnterprise_category(params));
}
@GetMapping("/staisticalEnforce_type")
@ResponseBody
public ZDResponse staisticalEnforce_type(SixAnalysisParams params){
return ZDResponse.success("行政执法投诉类别及占比", statisticalPaneService.staisticalEnforce_type(params));
}
@GetMapping("/queryDept")
@ResponseBody
public ZDResponse staisticalEnforce_type(DeptBean deptParams){
List<DeptBean> deptBeans = deptApi.getDeptList(deptParams);
return ZDResponse.success("部门列表", deptBeans);
}

22
lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/domain/SixAnalysisParams.java

@ -1,10 +1,12 @@
package com.zdxt.code.domain; package com.zdxt.code.domain;
import com.zdxt.common.BaseDomain;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
public class SixAnalysisParams { public class SixAnalysisParams extends BaseDomain {
private Long userId; private Long userId;
private String bureauDeptId; private String bureauDeptId;
private String bureauDeptName; private String bureauDeptName;
@ -24,15 +26,15 @@ public class SixAnalysisParams {
private Integer month; private Integer month;
private Integer day; private Integer day;
Map<String, Object> params = new HashMap<String, Object>(); // Map<String, Object> params = new HashMap<String, Object>();
//
public Map<String, Object> getParams() { // public Map<String, Object> getParams() {
return params; // return params;
} // }
//
public void setParams(Map<String, Object> params) { // public void setParams(Map<String, Object> params) {
this.params = params; // this.params = params;
} // }
public Long getUserId() { public Long getUserId() {
return userId; return userId;

5
lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/mapper/StatisticalPanelMapper.java

@ -1,6 +1,7 @@
package com.zdxt.code.mapper; package com.zdxt.code.mapper;
import com.zdxt.code.domain.ComprehensiveAnalysis; import com.zdxt.code.domain.ComprehensiveAnalysis;
import com.zdxt.code.domain.EnterpriseInformation;
import com.zdxt.code.domain.SixAnalysisParams; import com.zdxt.code.domain.SixAnalysisParams;
import com.zdxt.code.domain.StatisticsIndicatorPart; import com.zdxt.code.domain.StatisticsIndicatorPart;
@ -109,5 +110,9 @@ public interface StatisticalPanelMapper {
/** 检查类别 */ /** 检查类别 */
List<Map<String, Object>> staisticalCheck_category(SixAnalysisParams params); List<Map<String, Object>> staisticalCheck_category(SixAnalysisParams params);
/** 企业类别 */
List<EnterpriseInformation> staisticalEnterprise_category(SixAnalysisParams params);
/** 投诉类型 */
List<Map<String, Object>> staisticalEnforce_type(SixAnalysisParams params);
} }

18
lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/StatisticalPaneService.java

@ -1,9 +1,6 @@
package com.zdxt.code.service; package com.zdxt.code.service;
import com.zdxt.code.domain.ComprehensiveAnalysis; import com.zdxt.code.domain.*;
import com.zdxt.code.domain.SixAnalysis;
import com.zdxt.code.domain.SixAnalysisParams;
import com.zdxt.code.domain.StatisticsIndicatorPart;
import com.zdxt.code.domain.dto.StatisticalPanelDto; import com.zdxt.code.domain.dto.StatisticalPanelDto;
import java.util.List; import java.util.List;
@ -52,6 +49,15 @@ public interface StatisticalPaneService {
List<SixAnalysis> sixIndicators(SixAnalysisParams params); List<SixAnalysis> sixIndicators(SixAnalysisParams params);
List<Map<String, Object>> sixIndicators_area(SixAnalysisParams params); List<Map<String, Object>> sixIndicators_area(SixAnalysisParams params);
/** 涉企检查 */
int staisticalRegistration(SixAnalysisParams params);
/** 行政检查预告 */
int staisticalLawEnforcement(SixAnalysisParams params);
/** 涉企投诉 */
int staisticalComplaint(SixAnalysisParams params);
/** 企业数量 */
int staisticalEnterprise(SixAnalysisParams params);
/** 排行 */ /** 排行 */
List<Map<String, Object>> staisticalRegistration_order(SixAnalysisParams params); List<Map<String, Object>> staisticalRegistration_order(SixAnalysisParams params);
List<Map<String, Object>> staisticalComplaint_order(SixAnalysisParams params); List<Map<String, Object>> staisticalComplaint_order(SixAnalysisParams params);
@ -59,5 +65,9 @@ public interface StatisticalPaneService {
/** 检查类别 */ /** 检查类别 */
List<Map<String, Object>> staisticalCheck_category(SixAnalysisParams params); List<Map<String, Object>> staisticalCheck_category(SixAnalysisParams params);
/** 企业类别 */
List<StatisticsIndicator> staisticalEnterprise_category(SixAnalysisParams params);
/** 投诉类型 */
List<Map<String, Object>> staisticalEnforce_type(SixAnalysisParams params);
} }

166
lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/StatisticalPaneServiceImpl.java

@ -647,10 +647,10 @@ public class StatisticalPaneServiceImpl implements StatisticalPaneService {
*/ */
@Override @Override
public List<SixAnalysis> sixIndicators(SixAnalysisParams params) { public List<SixAnalysis> sixIndicators(SixAnalysisParams params) {
if (StringUtils.isNotEmpty(params.getQy())) { // if (StringUtils.isNotEmpty(params.getQy())) {
String qy=iDictDataService.selectDictLabel("address_Type",params.getQy()); // String qy=iDictDataService.selectDictLabel("address_Type",params.getQy());
params.setQy(qy); // params.setQy(qy);
} // }
// 获取当前月的 今天 / 第一天 // 获取当前月的 今天 / 第一天
LocalDate current_day = LocalDate.now(); // 当月的今天 LocalDate current_day = LocalDate.now(); // 当月的今天
@ -673,7 +673,7 @@ public class StatisticalPaneServiceImpl implements StatisticalPaneService {
SixAnalysis registration = new SixAnalysis(); SixAnalysis registration = new SixAnalysis();
all_area.add(registration); all_area.add(registration);
registration.setTitle("涉企检查数量"); registration.setTitle("涉企检查数量");
int reg_num = statisticalPanelMapper.staisticalRegistration(params); int reg_num = this.staisticalRegistration(params);
double reg_rr_num = statisticalPanelMapper.staisticalRegistration_rr(params); double reg_rr_num = statisticalPanelMapper.staisticalRegistration_rr(params);
double reg_yoy_num = statisticalPanelMapper.staisticalRegistration_yoy(params); double reg_yoy_num = statisticalPanelMapper.staisticalRegistration_yoy(params);
registration.setNum(reg_num); registration.setNum(reg_num);
@ -684,7 +684,7 @@ public class StatisticalPaneServiceImpl implements StatisticalPaneService {
all_area.add(unite_registration); all_area.add(unite_registration);
unite_registration.setTitle("联合检查数量"); unite_registration.setTitle("联合检查数量");
params.setUniteCheck("0"); params.setUniteCheck("0");
int unite_reg_num = statisticalPanelMapper.staisticalRegistration(params); int unite_reg_num = this.staisticalRegistration(params);
double unite_reg_rr_num = statisticalPanelMapper.staisticalRegistration_rr(params); double unite_reg_rr_num = statisticalPanelMapper.staisticalRegistration_rr(params);
double unite_reg_yoy_num = statisticalPanelMapper.staisticalRegistration_yoy(params); double unite_reg_yoy_num = statisticalPanelMapper.staisticalRegistration_yoy(params);
unite_registration.setNum(unite_reg_num); unite_registration.setNum(unite_reg_num);
@ -712,15 +712,15 @@ public class StatisticalPaneServiceImpl implements StatisticalPaneService {
complaint.setRing_ratio(this.calculateRingRatio(com_rr_num, com_num)); complaint.setRing_ratio(this.calculateRingRatio(com_rr_num, com_num));
complaint.setYoy(this.calculateYearOverYear(com_yoy_num, com_num)); complaint.setYoy(this.calculateYearOverYear(com_yoy_num, com_num));
//执法预警数量 //执法预警数量
SixAnalysis warning = new SixAnalysis(); // SixAnalysis warning = new SixAnalysis();
all_area.add(warning); // all_area.add(warning);
warning.setTitle("执法预警数量"); // warning.setTitle("执法预警数量");
int war_num = statisticalPanelMapper.staisticalWarning(params); // int war_num = statisticalPanelMapper.staisticalWarning(params);
double war_rr_num = statisticalPanelMapper.staisticalWarning_rr(params); // double war_rr_num = statisticalPanelMapper.staisticalWarning_rr(params);
double war_yoy_num = statisticalPanelMapper.staisticalWarning_yoy(params); // double war_yoy_num = statisticalPanelMapper.staisticalWarning_yoy(params);
warning.setNum(war_num); // warning.setNum(war_num);
warning.setRing_ratio(this.calculateRingRatio(war_rr_num, war_num)); // warning.setRing_ratio(this.calculateRingRatio(war_rr_num, war_num));
warning.setYoy(this.calculateYearOverYear(war_yoy_num, war_num)); // warning.setYoy(this.calculateYearOverYear(war_yoy_num, war_num));
//企业数量 //企业数量
SixAnalysis enterprise = new SixAnalysis(); SixAnalysis enterprise = new SixAnalysis();
all_area.add(enterprise); all_area.add(enterprise);
@ -742,10 +742,10 @@ public class StatisticalPaneServiceImpl implements StatisticalPaneService {
params.setUniteCheck("0"); params.setUniteCheck("0");
unite_registration.setCurrent_month_num(statisticalPanelMapper.staisticalRegistration(params)); unite_registration.setCurrent_month_num(statisticalPanelMapper.staisticalRegistration(params));
params.setUniteCheck(null); params.setUniteCheck(null);
lawEnforcement.setCurrent_month_num(statisticalPanelMapper.staisticalLawEnforcement(params)); lawEnforcement.setCurrent_month_num(this.staisticalLawEnforcement(params));
complaint.setCurrent_month_num(statisticalPanelMapper.staisticalComplaint(params)); complaint.setCurrent_month_num(this.staisticalComplaint(params));
warning.setCurrent_month_num(statisticalPanelMapper.staisticalWarning(params)); // warning.setCurrent_month_num(statisticalPanelMapper.staisticalWarning(params));
enterprise.setCurrent_month_num(statisticalPanelMapper.staisticalEnterprise(params)); enterprise.setCurrent_month_num(this.staisticalEnterprise(params));
/** -------- 昨天 -------- */ /** -------- 昨天 -------- */
LocalDate yesterday = LocalDate.now().minusDays(1); LocalDate yesterday = LocalDate.now().minusDays(1);
@ -756,16 +756,46 @@ public class StatisticalPaneServiceImpl implements StatisticalPaneService {
params.setUniteCheck("0"); params.setUniteCheck("0");
unite_registration.setYesterday_num(statisticalPanelMapper.staisticalRegistration(params)); unite_registration.setYesterday_num(statisticalPanelMapper.staisticalRegistration(params));
params.setUniteCheck(null); params.setUniteCheck(null);
lawEnforcement.setYesterday_num(statisticalPanelMapper.staisticalLawEnforcement(params)); lawEnforcement.setYesterday_num(this.staisticalLawEnforcement(params));
complaint.setYesterday_num(statisticalPanelMapper.staisticalComplaint(params)); complaint.setYesterday_num(this.staisticalComplaint(params));
warning.setYesterday_num(statisticalPanelMapper.staisticalWarning(params)); // warning.setYesterday_num(statisticalPanelMapper.staisticalWarning(params));
enterprise.setYesterday_num(statisticalPanelMapper.staisticalEnterprise(params)); enterprise.setYesterday_num(this.staisticalEnterprise(params));
return all_area; return all_area;
} }
@Override
@DataScope(userAlias = "r", deptAlias = "r", deptField = "bureau_dept_id")
public int staisticalRegistration(SixAnalysisParams params) { return statisticalPanelMapper.staisticalRegistration(params); }
@Override
@DataScope(userAlias = "n", deptAlias = "n", deptField = "bureau_dept_id")
public int staisticalLawEnforcement(SixAnalysisParams params) { return statisticalPanelMapper.staisticalLawEnforcement(params); }
// @DataScope(userAlias = "n", deptAlias = "n", deptField = "bureau_dept_id")
// private double staisticalLawEnforcement_rr(SixAnalysisParams params) { return statisticalPanelMapper.staisticalLawEnforcement_rr(params); }
// @DataScope(userAlias = "n", deptAlias = "n", deptField = "bureau_dept_id")
// private double staisticalLawEnforcement_yoy(SixAnalysisParams params) { return statisticalPanelMapper.staisticalLawEnforcement_yoy(params); }
@Override
@DataScope(deptAlias = "c", deptField = "complaint_department_id")
public int staisticalComplaint(SixAnalysisParams params) { return statisticalPanelMapper.staisticalComplaint(params); }
// @DataScope(userAlias = "n", deptAlias = "n", deptField = "bureau_dept_id")
// private double staisticalComplaint_rr(SixAnalysisParams params) { return statisticalPanelMapper.staisticalComplaint_rr(params); }
// @DataScope(userAlias = "n", deptAlias = "n", deptField = "bureau_dept_id")
// private double staisticalComplaint_yoy(SixAnalysisParams params) { return statisticalPanelMapper.staisticalComplaint_yoy(params); }
@Override
// @DataScope(userAlias = "n", deptAlias = "n", deptField = "bureau_dept_id")
public int staisticalEnterprise(SixAnalysisParams params) { return statisticalPanelMapper.staisticalEnterprise(params); }
// @DataScope(userAlias = "n", deptAlias = "n", deptField = "bureau_dept_id")
// private double staisticalEnterprise_rr(SixAnalysisParams params) { return statisticalPanelMapper.staisticalEnterprise_rr(params); }
// @DataScope(userAlias = "n", deptAlias = "n", deptField = "bureau_dept_id")
// private double staisticalEnterprise_yoy(SixAnalysisParams params) { return statisticalPanelMapper.staisticalEnterprise_yoy(params); }
@Override @Override
public List<Map<String, Object>> sixIndicators_area(SixAnalysisParams params) { public List<Map<String, Object>> sixIndicators_area(SixAnalysisParams params) {
String area_flag = params.getQy();
List<DictData> area_list = iDictDataService.selectDictDataByType("address_Type"); List<DictData> area_list = iDictDataService.selectDictDataByType("address_Type");
List<Map<String, Object>> all_area=new ArrayList<>(); List<Map<String, Object>> all_area=new ArrayList<>();
for(DictData area:area_list) { for(DictData area:area_list) {
@ -779,34 +809,34 @@ public class StatisticalPaneServiceImpl implements StatisticalPaneService {
SixAnalysis registration = new SixAnalysis(); SixAnalysis registration = new SixAnalysis();
areas.add(registration); areas.add(registration);
registration.setTitle("涉企检查次数"); registration.setTitle("涉企检查次数");
registration.setNum(statisticalPanelMapper.staisticalRegistration(params)); registration.setNum(area_flag.equals(params.getQy()) || StringUtils.isEmpty(area_flag)?statisticalPanelMapper.staisticalRegistration(params):0);
// 联合检查数量 // 联合检查数量
SixAnalysis unite_registration = new SixAnalysis(); SixAnalysis unite_registration = new SixAnalysis();
areas.add(unite_registration); areas.add(unite_registration);
unite_registration.setTitle("联合检查次数"); unite_registration.setTitle("联合检查次数");
params.setUniteCheck("0"); params.setUniteCheck("0");
unite_registration.setNum(statisticalPanelMapper.staisticalRegistration(params)); unite_registration.setNum(area_flag.equals(params.getQy()) || StringUtils.isEmpty(area_flag)?statisticalPanelMapper.staisticalRegistration(params):0);
params.setUniteCheck(null); params.setUniteCheck(null);
// 行政检查预告数量 // 行政检查预告数量
SixAnalysis lawEnforcement = new SixAnalysis(); SixAnalysis lawEnforcement = new SixAnalysis();
areas.add(lawEnforcement); areas.add(lawEnforcement);
lawEnforcement.setTitle("行政检查预告次数"); lawEnforcement.setTitle("行政检查预告次数");
lawEnforcement.setNum(statisticalPanelMapper.staisticalLawEnforcement(params)); lawEnforcement.setNum(area_flag.equals(params.getQy()) || StringUtils.isEmpty(area_flag)?this.staisticalLawEnforcement(params):0);
//涉企投诉数量 //涉企投诉数量
SixAnalysis complaint = new SixAnalysis(); SixAnalysis complaint = new SixAnalysis();
areas.add(complaint); areas.add(complaint);
complaint.setTitle("涉企投诉次数"); complaint.setTitle("涉企投诉次数");
complaint.setNum(statisticalPanelMapper.staisticalComplaint(params)); complaint.setNum(area_flag.equals(params.getQy()) || StringUtils.isEmpty(area_flag)?this.staisticalComplaint(params):0);
//执法预警数量 //执法预警数量
SixAnalysis warning = new SixAnalysis(); // SixAnalysis warning = new SixAnalysis();
areas.add(warning); // areas.add(warning);
warning.setTitle("执法预警次数"); // warning.setTitle("执法预警次数");
warning.setNum(statisticalPanelMapper.staisticalWarning(params)); // warning.setNum(statisticalPanelMapper.staisticalWarning(params));
//企业数量 //企业数量
SixAnalysis enterprise = new SixAnalysis(); SixAnalysis enterprise = new SixAnalysis();
areas.add(enterprise); areas.add(enterprise);
enterprise.setTitle("企业数量"); enterprise.setTitle("企业数量");
enterprise.setNum(statisticalPanelMapper.staisticalEnterprise(params)); enterprise.setNum(area_flag.equals(params.getQy()) || StringUtils.isEmpty(area_flag)?this.staisticalEnterprise(params):0);
info.put("list", areas); info.put("list", areas);
all_area.add(info); all_area.add(info);
} }
@ -854,6 +884,78 @@ public class StatisticalPaneServiceImpl implements StatisticalPaneService {
return results; return results;
} }
@Override
public List<StatisticsIndicator> staisticalEnterprise_category(SixAnalysisParams params) {
List<Map<String, Object>> results = new ArrayList<>();
List<DictData>list=iDictDataService.selectDictDataByType("enterpriseType");
List<DictData> dictDataList=new ArrayList<>();
for(DictData d:list){
if(!d.getDictLabel().equals("其他")){
dictDataList.add(d);
}
}
List<EnterpriseInformation> enterpriseInformationList = statisticalPanelMapper.staisticalEnterprise_category(params);
/*List<DictData>dictDataList=list.subList(0,4);//截取掉其他*/
List<StatisticsIndicator> statisticsIndicatorList=new ArrayList<>();
for(DictData d:dictDataList){
List<EnterpriseInformation> type = enterpriseInformationList.stream().filter(item -> item.getCompanyOrgType().contains(d.getDictLabel())).collect(Collectors.toList());
if(type!=null&&type.size()>0){
StatisticsIndicator s=new StatisticsIndicator();
s.setName(d.getDictLabel());
s.setValue(type.size());
s.setPercentage((double)type.size()/enterpriseInformationList.size());
statisticsIndicatorList.add(s);
}else{
StatisticsIndicator s=new StatisticsIndicator();
s.setName(d.getDictLabel());
statisticsIndicatorList.add(s);
}
}
List<EnterpriseInformation> qtList=enterpriseInformationList.stream().filter(item->!typeMake(dictDataList,item.getCompanyOrgType())).collect(Collectors.toList());
if(qtList!=null&&qtList.size()>0){
StatisticsIndicator s=new StatisticsIndicator();
s.setName("其他");
s.setValue(qtList.size());
s.setPercentage((double)qtList.size()/enterpriseInformationList.size());
statisticsIndicatorList.add(s);
}
return statisticsIndicatorList;
}
private Boolean typeMake(List<DictData> dictDataList,String s){
for(DictData d:dictDataList){
if(s.contains(d.getDictLabel())){
return true;
}
}
return false;
}
@Override
public List<Map<String, Object>> staisticalEnforce_type(SixAnalysisParams params) {
List<Map<String, Object>> results = new ArrayList<>();
List<DictData> checkCategory = iDictDataService.selectDictDataByType("caseType");
List<Map<String, Object>> tmpMaps = statisticalPanelMapper.staisticalEnforce_type(params);
double total = 0;
for (DictData dict : checkCategory) {
Map<String, Object> info = new HashMap<>();
info.put("type", dict.getDictLabel());
info.put("num", 0);
for(Map<String, Object> tmpMap : tmpMaps) {
if (dict.getDictValue().equals(tmpMap.get("type").toString())) {
info.put("num", tmpMap.get("num"));
total+= Integer.parseInt(tmpMap.get("num").toString());
break;
}
}
results.add(info);
}
for (Map<String, Object> tmpMap : results) {
double per = Double.parseDouble(tmpMap.get("num").toString()) / total * 100;
tmpMap.put("per", String.format("%.2f", per)+"%");
}
return results.subList(0, Math.min(6, results.size()));
}
/** /**
* 计算环比增长率 * 计算环比增长率
* @param currentPeriodValue 当期数值 * @param currentPeriodValue 当期数值

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

@ -358,3 +358,11 @@ public class ThirdLoginServiceImpl implements ThirdLoginService {
return null; return null;
} }
} }

195
lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/resources/mapper/StatisticalPanelMapper.xml

@ -4,6 +4,31 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zdxt.code.mapper.StatisticalPanelMapper"> <mapper namespace="com.zdxt.code.mapper.StatisticalPanelMapper">
<resultMap type="EnterpriseInformation" id="EnterpriseInformationResult">
<result property="id" column="id" />
<result property="enterpriseName" column="enterprise_name" />
<result property="enterpriseNumber" column="enterprise_number" />
<result property="enterpriseType" column="enterprise_type" />
<result property="companyOrgType" column="company_org_type" />
<result property="enterpriseAddress" column="enterprise_address" />
<result property="legalPerson" column="legal_person" />
<result property="registeredCapital" column="registered_capital" />
<result property="establishmentTime" column="establishment_time" />
<result property="operatingTerm" column="operating_term" />
<result property="operatingTermEnd" column="operating_term_end" />
<result property="businessScope" column="business_scope" />
<result property="createTime" column="create_time" />
<result property="createBy" column="create_by" />
<result property="userId" column="user_id" />
<result property="deptId" column="dept_id" />
<result property="isUnsubscribe" column="is_unsubscribe" />
<result property="isDelete" column="is_delete" />
<result property="salt" column="salt" />
<result property="enterpriseTel" column="enterprise_tel" />
<result property="industry" column="industry" />
<result property="qrCodeUrl" column="qr_code_url" />
</resultMap>
<resultMap type="StatisticsIndicatorPart" id="StatisticalVoResult"> <resultMap type="StatisticsIndicatorPart" id="StatisticalVoResult">
<result property="createTime" column="create_time" /> <result property="createTime" column="create_time" />
<result property="userId" column="user_id" /> <result property="userId" column="user_id" />
@ -114,7 +139,7 @@
<if test="uniteCheck == '0'.toString()"> and r.unite_check is not null</if> <if test="uniteCheck == '0'.toString()"> and r.unite_check is not null</if>
<if test="uniteCheck == '1'.toString()"> and r.unite_check is null</if> <if test="uniteCheck == '1'.toString()"> and r.unite_check is null</if>
<if test="userId != null and userId != '' ">and( r.law_enforcer_id=#{userId} or r.law_enforcer_id_two=#{userId}) </if> <if test="userId != null and userId != '' ">and( r.law_enforcer_id=#{userId} or r.law_enforcer_id_two=#{userId}) </if>
<if test="bureauDeptId != null and bureauDeptId != '' ">and r.bureau_dept_id=#{bureauDeptId}</if> <!-- <if test="bureauDeptId != null and bureauDeptId != '' ">and r.bureau_dept_id=#{bureauDeptId}</if> -->
<if test="qy != null and qy != ''"> <if test="qy != null and qy != ''">
and (e.enterprise_address like concat('深圳市',substring_index(#{qy}, "区",1), '区%')or and (e.enterprise_address like concat('深圳市',substring_index(#{qy}, "区",1), '区%')or
e.enterprise_address like concat('深圳市',substring_index(#{qy}, "区",1), '新区%')) e.enterprise_address like concat('深圳市',substring_index(#{qy}, "区",1), '新区%'))
@ -138,6 +163,10 @@
and DATE_FORMAT(r.create_time,'%Y-%m-%d') >= DATE_FORMAT(#{beginTime},'%Y-%m-%d') and DATE_FORMAT(r.create_time,'%Y-%m-%d') >= DATE_FORMAT(#{beginTime},'%Y-%m-%d')
and DATE_FORMAT(#{endTime},'%Y-%m-%d') >= DATE_FORMAT(r.create_time,'%Y-%m-%d') and DATE_FORMAT(#{endTime},'%Y-%m-%d') >= DATE_FORMAT(r.create_time,'%Y-%m-%d')
</if> </if>
<!-- 数据范围过滤 -->
<if test="params.dataScope != null and params.dataScope != ''">
${params.dataScope}
</if>
</where> </where>
</select> </select>
<select id="staisticalRegistration_rr" parameterType="SixAnalysisParams" resultType="double"> <select id="staisticalRegistration_rr" parameterType="SixAnalysisParams" resultType="double">
@ -183,6 +212,10 @@
and DATE_FORMAT(r.create_time,'%Y-%m-%d')>=DATE_SUB(STR_TO_DATE(#{beginTime},"%Y-%m-%d"),INTERVAL TO_DAYS(STR_TO_DATE(#{endTime},"%Y-%m-%d"))-TO_DAYS(STR_TO_DATE(#{beginTime},"%Y-%m-%d"))+1 day) and DATE_FORMAT(r.create_time,'%Y-%m-%d')>=DATE_SUB(STR_TO_DATE(#{beginTime},"%Y-%m-%d"),INTERVAL TO_DAYS(STR_TO_DATE(#{endTime},"%Y-%m-%d"))-TO_DAYS(STR_TO_DATE(#{beginTime},"%Y-%m-%d"))+1 day)
and DATE_SUB(STR_TO_DATE(#{endTime},"%Y-%m-%d"),INTERVAL TO_DAYS(STR_TO_DATE(#{endTime},"%Y-%m-%d"))-TO_DAYS(STR_TO_DATE(#{beginTime},"%Y-%m-%d"))+1 day)>=DATE_FORMAT(r.create_time,'%Y-%m-%d') and DATE_SUB(STR_TO_DATE(#{endTime},"%Y-%m-%d"),INTERVAL TO_DAYS(STR_TO_DATE(#{endTime},"%Y-%m-%d"))-TO_DAYS(STR_TO_DATE(#{beginTime},"%Y-%m-%d"))+1 day)>=DATE_FORMAT(r.create_time,'%Y-%m-%d')
</if> </if>
<!-- 数据范围过滤 -->
<if test="params.dataScope != null and params.dataScope != ''">
${params.dataScope}
</if>
</where> </where>
</select> </select>
<select id="staisticalRegistration_yoy" parameterType="SixAnalysisParams" resultType="double"> <select id="staisticalRegistration_yoy" parameterType="SixAnalysisParams" resultType="double">
@ -228,6 +261,10 @@
and DATE_FORMAT(DATE_SUB(r.create_time,INTERVAL -1 year),'%Y-%m-%d') >= DATE_FORMAT(#{beginTime},'%Y-%m-%d') and DATE_FORMAT(DATE_SUB(r.create_time,INTERVAL -1 year),'%Y-%m-%d') >= DATE_FORMAT(#{beginTime},'%Y-%m-%d')
and DATE_FORMAT(#{endTime},'%Y-%m-%d') >= DATE_FORMAT(DATE_SUB(r.create_time,INTERVAL -1 year),'%Y-%m-%d') and DATE_FORMAT(#{endTime},'%Y-%m-%d') >= DATE_FORMAT(DATE_SUB(r.create_time,INTERVAL -1 year),'%Y-%m-%d')
</if> </if>
<!-- 数据范围过滤 -->
<if test="params.dataScope != null and params.dataScope != ''">
${params.dataScope}
</if>
</where> </where>
</select> </select>
@ -265,6 +302,10 @@
and DATE_FORMAT(n.create_time,'%Y-%m-%d') >= DATE_FORMAT(#{beginTime},'%Y-%m-%d') and DATE_FORMAT(n.create_time,'%Y-%m-%d') >= DATE_FORMAT(#{beginTime},'%Y-%m-%d')
and DATE_FORMAT(#{endTime},'%Y-%m-%d') >= DATE_FORMAT(n.create_time,'%Y-%m-%d') and DATE_FORMAT(#{endTime},'%Y-%m-%d') >= DATE_FORMAT(n.create_time,'%Y-%m-%d')
</if> </if>
<!-- 数据范围过滤 -->
<if test="params.dataScope != null and params.dataScope != ''">
${params.dataScope}
</if>
</where> </where>
</select> </select>
<select id="staisticalLawEnforcement_rr" parameterType="SixAnalysisParams" resultType="double"> <select id="staisticalLawEnforcement_rr" parameterType="SixAnalysisParams" resultType="double">
@ -300,6 +341,10 @@
and DATE_FORMAT(n.create_time,'%Y-%m-%d')>=DATE_SUB(STR_TO_DATE(#{beginTime},"%Y-%m-%d"),INTERVAL TO_DAYS(STR_TO_DATE(#{endTime},"%Y-%m-%d"))-TO_DAYS(STR_TO_DATE(#{beginTime},"%Y-%m-%d"))+1 day) and DATE_FORMAT(n.create_time,'%Y-%m-%d')>=DATE_SUB(STR_TO_DATE(#{beginTime},"%Y-%m-%d"),INTERVAL TO_DAYS(STR_TO_DATE(#{endTime},"%Y-%m-%d"))-TO_DAYS(STR_TO_DATE(#{beginTime},"%Y-%m-%d"))+1 day)
and DATE_SUB(STR_TO_DATE(#{endTime},"%Y-%m-%d"),INTERVAL TO_DAYS(STR_TO_DATE(#{endTime},"%Y-%m-%d"))-TO_DAYS(STR_TO_DATE(#{beginTime}),"%Y-%m-%d")+1 day)>=DATE_FORMAT(n.create_time,'%Y-%m-%d') and DATE_SUB(STR_TO_DATE(#{endTime},"%Y-%m-%d"),INTERVAL TO_DAYS(STR_TO_DATE(#{endTime},"%Y-%m-%d"))-TO_DAYS(STR_TO_DATE(#{beginTime}),"%Y-%m-%d")+1 day)>=DATE_FORMAT(n.create_time,'%Y-%m-%d')
</if> </if>
<!-- 数据范围过滤 -->
<if test="params.dataScope != null and params.dataScope != ''">
${params.dataScope}
</if>
</where> </where>
</select> </select>
<select id="staisticalLawEnforcement_yoy" parameterType="SixAnalysisParams" resultType="double"> <select id="staisticalLawEnforcement_yoy" parameterType="SixAnalysisParams" resultType="double">
@ -335,6 +380,10 @@
and DATE_FORMAT(DATE_SUB(n.create_time,INTERVAL -1 year),'%Y-%m-%d') >= DATE_FORMAT(#{beginTime},'%Y-%m-%d') and DATE_FORMAT(DATE_SUB(n.create_time,INTERVAL -1 year),'%Y-%m-%d') >= DATE_FORMAT(#{beginTime},'%Y-%m-%d')
and DATE_FORMAT(#{endTime},'%Y-%m-%d') >= DATE_FORMAT(DATE_SUB(n.create_time,INTERVAL -1 year),'%Y-%m-%d') and DATE_FORMAT(#{endTime},'%Y-%m-%d') >= DATE_FORMAT(DATE_SUB(n.create_time,INTERVAL -1 year),'%Y-%m-%d')
</if> </if>
<!-- 数据范围过滤 -->
<if test="params.dataScope != null and params.dataScope != ''">
${params.dataScope}
</if>
</where> </where>
</select> </select>
@ -374,6 +423,10 @@
and DATE_FORMAT(c.complaint_time,'%Y-%m-%d') >= DATE_FORMAT(#{beginTime},'%Y-%m-%d') and DATE_FORMAT(c.complaint_time,'%Y-%m-%d') >= DATE_FORMAT(#{beginTime},'%Y-%m-%d')
and DATE_FORMAT(#{endTime},'%Y-%m-%d') >= DATE_FORMAT(c.complaint_time,'%Y-%m-%d') and DATE_FORMAT(#{endTime},'%Y-%m-%d') >= DATE_FORMAT(c.complaint_time,'%Y-%m-%d')
</if> </if>
<!-- 数据范围过滤 -->
<if test="params.dataScope != null and params.dataScope != ''">
${params.dataScope}
</if>
</where> </where>
</select> </select>
<select id="staisticalComplaint_rr" parameterType="SixAnalysisParams" resultType="double"> <select id="staisticalComplaint_rr" parameterType="SixAnalysisParams" resultType="double">
@ -411,6 +464,10 @@
and DATE_FORMAT(c.complaint_time,'%Y-%m-%d')>=DATE_SUB(STR_TO_DATE(#{beginTime},"%Y-%m-%d"),INTERVAL TO_DAYS(STR_TO_DATE(#{endTime},"%Y-%m-%d"))-TO_DAYS(STR_TO_DATE(#{beginTime},"%Y-%m-%d"))+1 day) and DATE_FORMAT(c.complaint_time,'%Y-%m-%d')>=DATE_SUB(STR_TO_DATE(#{beginTime},"%Y-%m-%d"),INTERVAL TO_DAYS(STR_TO_DATE(#{endTime},"%Y-%m-%d"))-TO_DAYS(STR_TO_DATE(#{beginTime},"%Y-%m-%d"))+1 day)
and DATE_SUB(STR_TO_DATE(#{endTime},"%Y-%m-%d"),INTERVAL TO_DAYS(STR_TO_DATE(#{endTime},"%Y-%m-%d"))-TO_DAYS(STR_TO_DATE(#{beginTime},"%Y-%m-%d"))+1 day)>=DATE_FORMAT(c.complaint_time,'%Y-%m-%d') and DATE_SUB(STR_TO_DATE(#{endTime},"%Y-%m-%d"),INTERVAL TO_DAYS(STR_TO_DATE(#{endTime},"%Y-%m-%d"))-TO_DAYS(STR_TO_DATE(#{beginTime},"%Y-%m-%d"))+1 day)>=DATE_FORMAT(c.complaint_time,'%Y-%m-%d')
</if> </if>
<!-- 数据范围过滤 -->
<if test="params.dataScope != null and params.dataScope != ''">
${params.dataScope}
</if>
</where> </where>
</select> </select>
<select id="staisticalComplaint_yoy" parameterType="SixAnalysisParams" resultType="double"> <select id="staisticalComplaint_yoy" parameterType="SixAnalysisParams" resultType="double">
@ -448,6 +505,10 @@
and DATE_FORMAT(DATE_SUB(c.complaint_time,INTERVAL -1 year),'%Y-%m-%d') >= DATE_FORMAT(#{beginTime},'%Y-%m-%d') and DATE_FORMAT(DATE_SUB(c.complaint_time,INTERVAL -1 year),'%Y-%m-%d') >= DATE_FORMAT(#{beginTime},'%Y-%m-%d')
and DATE_FORMAT(#{endTime},'%Y-%m-%d') >= DATE_FORMAT(DATE_SUB(c.complaint_time,INTERVAL -1 year),'%Y-%m-%d') and DATE_FORMAT(#{endTime},'%Y-%m-%d') >= DATE_FORMAT(DATE_SUB(c.complaint_time,INTERVAL -1 year),'%Y-%m-%d')
</if> </if>
<!-- 数据范围过滤 -->
<if test="params.dataScope != null and params.dataScope != ''">
${params.dataScope}
</if>
</where> </where>
</select> </select>
@ -483,6 +544,10 @@
and DATE_FORMAT(w.create_time,'%Y-%m-%d') >= DATE_FORMAT(#{beginTime},'%Y-%m-%d') and DATE_FORMAT(w.create_time,'%Y-%m-%d') >= DATE_FORMAT(#{beginTime},'%Y-%m-%d')
and DATE_FORMAT(#{endTime},'%Y-%m-%d') >= DATE_FORMAT(w.create_time,'%Y-%m-%d') and DATE_FORMAT(#{endTime},'%Y-%m-%d') >= DATE_FORMAT(w.create_time,'%Y-%m-%d')
</if> </if>
<!-- 数据范围过滤 -->
<if test="params.dataScope != null and params.dataScope != ''">
${params.dataScope}
</if>
</where> </where>
</select> </select>
<select id="staisticalWarning_rr" parameterType="SixAnalysisParams" resultType="double"> <select id="staisticalWarning_rr" parameterType="SixAnalysisParams" resultType="double">
@ -516,6 +581,10 @@
and DATE_FORMAT(w.create_time,'%Y-%m-%d')>=DATE_SUB(STR_TO_DATE(#{beginTime},"%Y-%m-%d"),INTERVAL TO_DAYS(STR_TO_DATE(#{endTime},"%Y-%m-%d"))-TO_DAYS(STR_TO_DATE(#{beginTime},"%Y-%m-%d"))+1 day) and DATE_FORMAT(w.create_time,'%Y-%m-%d')>=DATE_SUB(STR_TO_DATE(#{beginTime},"%Y-%m-%d"),INTERVAL TO_DAYS(STR_TO_DATE(#{endTime},"%Y-%m-%d"))-TO_DAYS(STR_TO_DATE(#{beginTime},"%Y-%m-%d"))+1 day)
and DATE_SUB(STR_TO_DATE(#{endTime},"%Y-%m-%d"),INTERVAL TO_DAYS(STR_TO_DATE(#{endTime},"%Y-%m-%d"))-TO_DAYS(STR_TO_DATE(#{beginTime},"%Y-%m-%d"))+1 day)>=DATE_FORMAT(w.create_time,'%Y-%m-%d') and DATE_SUB(STR_TO_DATE(#{endTime},"%Y-%m-%d"),INTERVAL TO_DAYS(STR_TO_DATE(#{endTime},"%Y-%m-%d"))-TO_DAYS(STR_TO_DATE(#{beginTime},"%Y-%m-%d"))+1 day)>=DATE_FORMAT(w.create_time,'%Y-%m-%d')
</if> </if>
<!-- 数据范围过滤 -->
<if test="params.dataScope != null and params.dataScope != ''">
${params.dataScope}
</if>
</where> </where>
</select> </select>
<select id="staisticalWarning_yoy" parameterType="SixAnalysisParams" resultType="double"> <select id="staisticalWarning_yoy" parameterType="SixAnalysisParams" resultType="double">
@ -549,6 +618,10 @@
and DATE_FORMAT(DATE_SUB(w.create_time,INTERVAL -1 year),'%Y-%m-%d') >= DATE_FORMAT(#{beginTime},'%Y-%m-%d') and DATE_FORMAT(DATE_SUB(w.create_time,INTERVAL -1 year),'%Y-%m-%d') >= DATE_FORMAT(#{beginTime},'%Y-%m-%d')
and DATE_FORMAT(#{endTime},'%Y-%m-%d') >= DATE_FORMAT(DATE_SUB(w.create_time,INTERVAL -1 year),'%Y-%m-%d') and DATE_FORMAT(#{endTime},'%Y-%m-%d') >= DATE_FORMAT(DATE_SUB(w.create_time,INTERVAL -1 year),'%Y-%m-%d')
</if> </if>
<!-- 数据范围过滤 -->
<if test="params.dataScope != null and params.dataScope != ''">
${params.dataScope}
</if>
</where> </where>
</select> </select>
@ -617,6 +690,10 @@
and DATE_FORMAT(e.create_time,'%Y-%m-%d')>=DATE_SUB(STR_TO_DATE(#{e.beginTime},"%Y-%m-%d"),INTERVAL TO_DAYS(STR_TO_DATE(#{e.endTime},"%Y-%m-%d"))-TO_DAYS(STR_TO_DATE(#{e.beginTime},"%Y-%m-%d"))+1 day) and DATE_FORMAT(e.create_time,'%Y-%m-%d')>=DATE_SUB(STR_TO_DATE(#{e.beginTime},"%Y-%m-%d"),INTERVAL TO_DAYS(STR_TO_DATE(#{e.endTime},"%Y-%m-%d"))-TO_DAYS(STR_TO_DATE(#{e.beginTime},"%Y-%m-%d"))+1 day)
and DATE_SUB(STR_TO_DATE(#{e.endTime},"%Y-%m-%d"),INTERVAL TO_DAYS(STR_TO_DATE(#{e.endTime},"%Y-%m-%d"))-TO_DAYS(STR_TO_DATE(#{e.beginTime}),"%Y-%m-%d")+1 day)>=DATE_FORMAT(e.create_time,'%Y-%m-%d') and DATE_SUB(STR_TO_DATE(#{e.endTime},"%Y-%m-%d"),INTERVAL TO_DAYS(STR_TO_DATE(#{e.endTime},"%Y-%m-%d"))-TO_DAYS(STR_TO_DATE(#{e.beginTime}),"%Y-%m-%d")+1 day)>=DATE_FORMAT(e.create_time,'%Y-%m-%d')
</if> </if>
<!-- 数据范围过滤 -->
<if test="params.dataScope != null and params.dataScope != ''">
${params.dataScope}
</if>
</where> </where>
</select> </select>
<select id="staisticalEnterprise_yoy" parameterType="SixAnalysisParams" resultType="double"> <select id="staisticalEnterprise_yoy" parameterType="SixAnalysisParams" resultType="double">
@ -650,6 +727,10 @@
and DATE_FORMAT(DATE_SUB(e.create_time,INTERVAL -1 year),'%Y-%m-%d') >= DATE_FORMAT(#{beginTime},'%Y-%m-%d') and DATE_FORMAT(DATE_SUB(e.create_time,INTERVAL -1 year),'%Y-%m-%d') >= DATE_FORMAT(#{beginTime},'%Y-%m-%d')
and DATE_FORMAT(#{endTime},'%Y-%m-%d') >= DATE_FORMAT(DATE_SUB(e.create_time,INTERVAL -1 year),'%Y-%m-%d') and DATE_FORMAT(#{endTime},'%Y-%m-%d') >= DATE_FORMAT(DATE_SUB(e.create_time,INTERVAL -1 year),'%Y-%m-%d')
</if> </if>
<!-- 数据范围过滤 -->
<if test="params.dataScope != null and params.dataScope != ''">
${params.dataScope}
</if>
</where> </where>
</select> </select>
@ -695,6 +776,10 @@
and DATE_FORMAT(r.create_time,'%Y-%m-%d') >= DATE_FORMAT(#{beginTime},'%Y-%m-%d') and DATE_FORMAT(r.create_time,'%Y-%m-%d') >= DATE_FORMAT(#{beginTime},'%Y-%m-%d')
and DATE_FORMAT(#{endTime},'%Y-%m-%d') >= DATE_FORMAT(r.create_time,'%Y-%m-%d') and DATE_FORMAT(#{endTime},'%Y-%m-%d') >= DATE_FORMAT(r.create_time,'%Y-%m-%d')
</if> </if>
<!-- 数据范围过滤 -->
<if test="params.dataScope != null and params.dataScope != ''">
${params.dataScope}
</if>
</where> </where>
group by r.enterprise_number order by num desc group by r.enterprise_number order by num desc
</select> </select>
@ -731,6 +816,10 @@
and DATE_FORMAT(c.complaint_time,'%Y-%m-%d') >= DATE_FORMAT(#{beginTime},'%Y-%m-%d') and DATE_FORMAT(c.complaint_time,'%Y-%m-%d') >= DATE_FORMAT(#{beginTime},'%Y-%m-%d')
and DATE_FORMAT(#{endTime},'%Y-%m-%d') >= DATE_FORMAT(c.complaint_time,'%Y-%m-%d') and DATE_FORMAT(#{endTime},'%Y-%m-%d') >= DATE_FORMAT(c.complaint_time,'%Y-%m-%d')
</if> </if>
<!-- 数据范围过滤 -->
<if test="params.dataScope != null and params.dataScope != ''">
${params.dataScope}
</if>
</where> </where>
group by c.complaint_department_id order by num desc; group by c.complaint_department_id order by num desc;
</select> </select>
@ -775,10 +864,16 @@
and DATE_FORMAT(r.create_time,'%Y-%m-%d') >= DATE_FORMAT(#{beginTime},'%Y-%m-%d') and DATE_FORMAT(r.create_time,'%Y-%m-%d') >= DATE_FORMAT(#{beginTime},'%Y-%m-%d')
and DATE_FORMAT(#{endTime},'%Y-%m-%d') >= DATE_FORMAT(r.create_time,'%Y-%m-%d') and DATE_FORMAT(#{endTime},'%Y-%m-%d') >= DATE_FORMAT(r.create_time,'%Y-%m-%d')
</if> </if>
<!-- 数据范围过滤 -->
<if test="params.dataScope != null and params.dataScope != ''">
${params.dataScope}
</if>
</where> </where>
group by r.bureau_dept_id order by num desc group by r.bureau_dept_id order by num desc
</select> </select>
<!-- 检查类别 -->
<select id="staisticalCheck_category" parameterType="SixAnalysisParams" resultType="map"> <select id="staisticalCheck_category" parameterType="SixAnalysisParams" resultType="map">
select r.check_category as category, count(1) as num from enforcement_registration r select r.check_category as category, count(1) as num from enforcement_registration r
left join (select * from enterprise_information group by enterprise_number) e on r.enterprise_number = e.enterprise_number left join (select * from enterprise_information group by enterprise_number) e on r.enterprise_number = e.enterprise_number
@ -822,8 +917,106 @@
and DATE_FORMAT(r.create_time,'%Y-%m-%d') >= DATE_FORMAT(#{beginTime},'%Y-%m-%d') and DATE_FORMAT(r.create_time,'%Y-%m-%d') >= DATE_FORMAT(#{beginTime},'%Y-%m-%d')
and DATE_FORMAT(#{endTime},'%Y-%m-%d') >= DATE_FORMAT(r.create_time,'%Y-%m-%d') and DATE_FORMAT(#{endTime},'%Y-%m-%d') >= DATE_FORMAT(r.create_time,'%Y-%m-%d')
</if> </if>
<!-- 数据范围过滤 -->
<if test="params.dataScope != null and params.dataScope != ''">
${params.dataScope}
</if>
</where> </where>
group by r.check_category group by r.check_category
</select> </select>
<!-- 企业类别 -->
<select id="staisticalEnterprise_category" parameterType="SixAnalysisParams" resultMap="EnterpriseInformationResult">
select e.* from enforcement_registration r
left join (select * from enterprise_information group by enterprise_number) e on r.enterprise_number = e.enterprise_number
<where>
and r.bureau_dept_name is not null
and r.law_enforcement_id is not null
and r.enterprise_name is not null
and r.enterprise_number is not null
and r.law_enforcer is not null
and r.law_enforcer_two is not null
and r.is_complaint is not null
and r.check_category is not null
and r.bureau_dept_id is not null
and e.company_org_type is not null
<if test="params.zone != null and params.zone != ''">
and r.bureau_dept_id in (select dept_id from sys_dept where zone = #{params.zone})
</if>
<if test="uniteCheck == '0'.toString()"> and r.unite_check is not null</if>
<if test="uniteCheck == '1'.toString()"> and r.unite_check is null</if>
<if test="userId != null and userId != '' ">and( r.law_enforcer_id=#{userId} or r.law_enforcer_id_two=#{userId}) </if>
<if test="bureauDeptId != null and bureauDeptId != '' ">and r.bureau_dept_id=#{bureauDeptId}</if>
<if test="qy != null and qy != ''">
and (e.enterprise_address like concat('深圳市',substring_index(#{qy}, "区",1), '区%')or
e.enterprise_address like concat('深圳市',substring_index(#{qy}, "区",1), '新区%'))
<if test="jd != null and jd != ''">
and (e.enterprise_address like concat('深圳市',substring_index(#{qy}, "区",1), '区',#{jd},'%')or
e.enterprise_address like concat('深圳市',substring_index(#{qy}, "区",1), '新区',#{jd},'%'))
</if>
</if>
<if test="dateType != null and dateType != '' and dateType == 'year' ">
and YEAR(r.create_time)=#{year}
</if>
<if test="dateType != null and dateType != '' and dateType == 'quarter' ">
and YEAR(r.create_time)=#{year}
and QUARTER(r.create_time)=#{quarter}
</if>
<if test="dateType != null and dateType != '' and dateType == 'month' ">
and YEAR(r.create_time)=#{year}
and MONTH(r.create_time)=#{month}
</if>
<if test="dateType != null and dateType != '' and dateType == 'day' ">
and DATE_FORMAT(r.create_time,'%Y-%m-%d') >= DATE_FORMAT(#{beginTime},'%Y-%m-%d')
and DATE_FORMAT(#{endTime},'%Y-%m-%d') >= DATE_FORMAT(r.create_time,'%Y-%m-%d')
</if>
<!-- 数据范围过滤 -->
<if test="params.dataScope != null and params.dataScope != ''">
${params.dataScope}
</if>
</where>
</select>
<!-- 投诉类型 -->
<select id="staisticalEnforce_type" parameterType="SixAnalysisParams" resultType="map">
select c.enforce_type as type, count(1) as num from complaint_statistics c
left join (select * from enterprise_information group by enterprise_number) e on c.enterprise_number=e.enterprise_number
<where>
and (c.rid is not null or c.complaint_department_id is not null)
and c.enforce_type is not null
and c.enterprise_number is not null
<if test="params.zone != null and params.zone != ''">
and c.complaint_department_id in (select dept_id from sys_dept where zone = #{params.zone})
</if>
<if test="userId != null and userId != '' ">and( r.law_enforcer_id=#{userId} or c.law_enforcer_id_two=#{userId}) </if>
<if test="bureauDeptId != null and bureauDeptId != '' ">and c.bureau_dept_id=#{bureauDeptId}</if>
<if test="qy != null and qy != ''">
and (e.enterprise_address like concat('深圳市',substring_index(#{qy}, "区",1), '区%')or
e.enterprise_address like concat('深圳市',substring_index(#{qy}, "区",1), '新区%'))
<if test="jd != null and jd != ''">
and (e.enterprise_address like concat('深圳市',substring_index(#{qy}, "区",1), '区',#{jd},'%')or
e.enterprise_address like concat('深圳市',substring_index(#{qy}, "区",1), '新区',#{jd},'%'))
</if>
</if>
<if test="dateType != null and dateType != '' and dateType == 'year' ">
and YEAR(c.complaint_time)=#{year}
</if>
<if test="dateType != null and dateType != '' and dateType == 'quarter' ">
and YEAR(c.complaint_time)=#{year}
and QUARTER(c.complaint_time)=#{quarter}
</if>
<if test="dateType != null and dateType != '' and dateType == 'month' ">
and YEAR(c.complaint_time)=#{year}
and MONTH(c.complaint_time)=#{month}
</if>
<if test="dateType != null and dateType != '' and dateType == 'day' ">
and DATE_FORMAT(c.complaint_time,'%Y-%m-%d') >= DATE_FORMAT(#{beginTime},'%Y-%m-%d')
and DATE_FORMAT(#{endTime},'%Y-%m-%d') >= DATE_FORMAT(c.complaint_time,'%Y-%m-%d')
</if>
<!-- 数据范围过滤 -->
<if test="params.dataScope != null and params.dataScope != ''">
${params.dataScope}
</if>
</where>
group by c.enforce_type
</select>
</mapper> </mapper>

11
lib/EmergencyServiceApi/emergencyAuthServiceApi/src/main/java/com/zdxt/auth/dto/DeptBean.java

@ -121,6 +121,17 @@ public class DeptBean extends BaseDomain {
*/ */
private String creditcode; private String creditcode;
/** 1:市直; 2:区; 3:区直; 4:街道 */
private String zone;
public String getZone() {
return zone;
}
public void setZone(String zone) {
this.zone = zone;
}
public String getDeptId() { public String getDeptId() {
return deptId; return deptId;
} }

Loading…
Cancel
Save