Browse Source

权限提交上去

v6
蟑螂恶霸 1 year 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. 78
      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. 537
      lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/static/statistical/scripts/charts-analyov.js
  9. 218
      lib/EmergencyService/zdxtEmergencyBootStart/src/main/resources/templates/project/code/statistical/overall-analysis.html
  10. 120
      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 "";
/**
* 部门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;

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

@ -93,7 +93,7 @@ public class DataScopeAspect {
User currentUser = (User) cacheKeys;
if (!currentUser.isAdmin()){
dataScopeFilter(joinPoint, currentUser, controllerDataScope.deptAlias(),
controllerDataScope.userAlias());
controllerDataScope.userAlias(), controllerDataScope.deptField(), controllerDataScope.userField());
}
}else{
@ -103,7 +103,7 @@ public class DataScopeAspect {
User appUser = (User) redisKeys;
if (!appUser.isAdmin()){
dataScopeFilter(joinPoint, appUser, controllerDataScope.deptAlias(),
controllerDataScope.userAlias());
controllerDataScope.userAlias(), controllerDataScope.deptField(), controllerDataScope.userField());
}
}
}
@ -125,7 +125,7 @@ public class DataScopeAspect {
* @param user 用户
* @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();
for (Role role : user.getRoles()) {
@ -135,38 +135,78 @@ public class DataScopeAspect {
break;
} else if (DATA_SCOPE_CUSTOM.equals(dataScope)) {
if(StringUtils.isEmpty(deptAlias)){
sqlString.append(StringUtils.format(
" OR {} dept_id IN ( SELECT dept_id FROM sys_role_dept WHERE role_id = {} ) ", deptAlias,
role.getRoleId()));
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(
" OR {} dept_id IN ( SELECT dept_id FROM sys_role_dept WHERE role_id = {} ) ", deptAlias,
role.getRoleId()));
}
}else{
sqlString.append(StringUtils.format(
" OR {}.dept_id IN ( SELECT dept_id FROM sys_role_dept WHERE role_id = {} ) ", deptAlias,
role.getRoleId()));
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(
" OR {}.dept_id IN ( SELECT dept_id FROM sys_role_dept WHERE role_id = {} ) ", deptAlias,
role.getRoleId()));
}
}
} else if (DATA_SCOPE_DEPT.equals(dataScope)) {
//别名为空
if(StringUtils.isEmpty(deptAlias)) {
sqlString.append(StringUtils.format(" OR {} dept_id = '{}' ", deptAlias, user.getDeptId()));
if(!StringUtils.isEmpty(deptField)){
sqlString.append(StringUtils.format(" OR {} = '{}' ", deptField, user.getDeptId()));
} else {
sqlString.append(StringUtils.format(" OR {} dept_id = '{}' ", deptAlias, user.getDeptId()));
}
}else{
//别名不为空
sqlString.append(StringUtils.format(" OR {}.dept_id = '{}' ", deptAlias, user.getDeptId()));
if(!StringUtils.isEmpty(deptField)){
sqlString.append(StringUtils.format(" OR {}.{} = '{}' ", deptAlias, deptField, user.getDeptId()));
} else {
sqlString.append(StringUtils.format(" OR {}.dept_id = '{}' ", deptAlias, user.getDeptId()));
}
}
} else if (DATA_SCOPE_DEPT_AND_CHILD.equals(dataScope)) {
if(StringUtils.isEmpty(deptAlias)){
sqlString.append(StringUtils.format(
" OR {} dept_id IN ( SELECT dept_id FROM sys_dept WHERE dept_id = '{}' or find_in_set( '{}' , ancestors ) <> 0 )",
deptAlias, user.getDeptId(), user.getDeptId()));
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(
" OR {} dept_id IN ( SELECT dept_id FROM sys_dept WHERE dept_id = '{}' or find_in_set( '{}' , ancestors ) <> 0 )",
deptAlias, user.getDeptId(), user.getDeptId()));
}
}else{
sqlString.append(StringUtils.format(
" OR {}.dept_id IN ( SELECT dept_id FROM sys_dept WHERE dept_id = '{}' or find_in_set( '{}' , ancestors ) <> 0 )",
deptAlias, user.getDeptId(), user.getDeptId()));
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(
" OR {}.dept_id IN ( SELECT dept_id FROM sys_dept WHERE dept_id = '{}' or find_in_set( '{}' , ancestors ) <> 0 )",
deptAlias, user.getDeptId(), user.getDeptId()));
}
}
} else if (DATA_SCOPE_SELF.equals(dataScope)) {
if(StringUtils.isEmpty(userAlias)){
sqlString.append(StringUtils.format(" OR {} user_id = {} ", userAlias, user.getUserId()));
if(!StringUtils.isEmpty(userField)){
sqlString.append(StringUtils.format(" OR {} = {} ", userField, user.getUserId()));
} else {
sqlString.append(StringUtils.format(" OR {} user_id = {} ", userAlias, user.getUserId()));
}
}else{
sqlString.append(StringUtils.format(" OR {}.user_id = {} ", userAlias, user.getUserId()));
if(!StringUtils.isEmpty(userField)){
sqlString.append(StringUtils.format(" OR {}.{} = {} ", userAlias, userField, user.getUserId()));
} else {
sqlString.append(StringUtils.format(" OR {}.user_id = {} ", userAlias, user.getUserId()));
}
}
}
}

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

@ -100,6 +100,7 @@ public class DeptApiImpl implements DeptApi {
@Override
@DataScope
public List<DeptBean> getDeptList(DeptBean deptBean) {
Dept dept = new 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 {
//配置可信域名
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 = "";
HttpServletRequest httprequest = (HttpServletRequest) request;
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 角色数据集合信息
*/
@Override
@DataScope(deptAlias = "r")
@DataScope(userAlias = "u", deptAlias = "u")
public List<Role> selectRoleList(Role role) {
return roleMapper.selectRoleList(role);
}

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

@ -165,6 +165,9 @@
#{item}
</foreach>
</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 != ''">
AND d.tenant_code = #{tenantCode}

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

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

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

@ -14,30 +14,145 @@
<div class="wrap_all">
<div class="select_set">
<div class="select_item">
<label class="select_area">深圳市<a></a></label>
<dl class="fold_cont">
<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>
<label class="select_area" id="dept_flag">-<a></a></label>
<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>-->
</dl>
</div>
<div class="select_item">
<label class="select_unit">全市<a></a></label>
</div>
<!-- <div class="select_item">-->
<!-- <label class="select_unit">全市<a></a></label>-->
<!-- </div>-->
<div class="select_item">
<label class="select_time">2025年第1季度<a></a></label>
<span>综合数据</span></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="inner">
<div class="data_cont onebox">
@ -70,7 +185,7 @@
<div class="chart_box" id="rankCommpany"></div>
</div>
<div class="data_cont threebox">
<h3 class="chart_tit">被投诉单位排行</h3>
<h3 class="chart_tit">被投诉单位被投诉数量排行</h3>
<span class="sel_rank">
<select name="">
<option>TOP 10</option>
@ -138,14 +253,14 @@
var ctx="/"
$(function(){
sixIndicators();
queryDept();
});
function sixIndicators() {
function sixIndicators(qy) {
$.ajax({
url: ctx + "code/statisticalPanel/sixIndicators",
type: "get",
data: {dateType: "year", year:"2025"},
data: {dateType: "year", year:"2025", qy: qy},
success: function(res) {
if(res.success) {
const indicators = res.data;
@ -190,15 +305,58 @@
});
}
/** 获取区列表 */
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追加
//each遍历元素
$(".fold_cont dd").each(function () {
$(this).click(function () { //点击事件
//当点击自身的时候添加,及删除同级的
$(this).addClass('selchk').siblings().removeClass('selchk')
})
});
}
},
error: function (error) {
$.modal.alertWarning("获取分析数据失败。");
}
});
}
$('.fold_cont dd:first').addClass('selchk');//给第一个dd追加
//each遍历元素
$(".fold_cont dd").each(function () {
$(this).click(function () { //点击事件
//当点击自身的时候添加,及删除同级的
$(this).addClass('selchk').siblings().removeClass('selchk')
})
});
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)
}
/**********数据子项折叠************/

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

@ -14,18 +14,18 @@
<div class="wrap_all">
<div class="select_set">
<div class="select_item">
<label class="select_area">深圳市司法局<a></a></label>
<dl class="fold_cont">
<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>
<label class="select_area" id="dept_flag">-<a></a></label>
<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>-->
</dl>
</div>
<div class="select_item">
@ -199,26 +199,26 @@
</div>
<div class="count_wrap com_cate">
<div class="count_wrap com_cate" id="enforce_type">
<h3 class="chart_tit">行政执法投诉类别及占比</h3>
<div class="count_item">
<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">
<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">
<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">
<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">
<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">
<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>
@ -267,15 +267,17 @@
var ctx="/"
$(function(){
sixIndicators();
sixIndicators(null);
checkCategory();
enforceType();
queryDept();
});
function sixIndicators() {
function sixIndicators(deptId) {
$.ajax({
url: ctx + "code/statisticalPanel/sixIndicators",
type: "get",
data: {dateType: "year", year:"2025", params:{"zone":1}},
data: {dateType: "year", year:"2025", bureauDeptId: deptId},
success: function(res) {
if(res.success) {
const indicators = res.data;
@ -320,13 +322,13 @@
});
}
/** 检查类别 */
function checkCategory() {
$.ajax({
url: ctx + "code/statisticalPanel/staisticalCheck_category",
type: "get",
data: {dateType: "year", year:"2025"},
success: function(res) {
console.log(res);
if(res.success) {
var html = "";
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追加
//each遍历元素
$(".fold_cont dd").each(function () {
$(this).click(function () { //点击事件
//当点击自身的时候添加,及删除同级的
$(this).addClass('selchk').siblings().removeClass('selchk')
})
});
}
},
error: function (error) {
$.modal.alertWarning("获取分析数据失败。");
}
});
}
function changeArea(id, area) {
console.log(id)
sixIndicators(id);
$("#dept_flag").html(area)
}
$('.fold_cont dd:first').addClass('selchk');//给第一个dd追加
//each遍历元素
$(".fold_cont dd").each(function () {
$(this).click(function () { //点击事件
//当点击自身的时候添加,及删除同级的
$(this).addClass('selchk').siblings().removeClass('selchk')
})
});

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

@ -1,12 +1,16 @@
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.SixAnalysis;
import com.zdxt.code.domain.SixAnalysisParams;
import com.zdxt.code.domain.StatisticsIndicatorPart;
import com.zdxt.code.domain.dto.StatisticalPanelDto;
import com.zdxt.code.service.StatisticalPaneService;
import com.zdxt.common.ZDResponse;
import com.zdxt.common.controller.BaseController;
import com.zdxt.domain.auth.Dept;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
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.ResponseBody;
import java.time.LocalDate;
import java.time.temporal.TemporalAdjusters;
import java.util.ArrayList;
import java.util.List;
/**
@ -27,6 +34,8 @@ public class StatisticalPanelController extends BaseController {
@Autowired
private StatisticalPaneService statisticalPaneService;
@Autowired private DeptApi deptApi;
@ -120,6 +129,93 @@ public class StatisticalPanelController extends BaseController {
@GetMapping("/sixIndicators")
@ResponseBody
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));
}
@ -151,7 +247,26 @@ public class StatisticalPanelController extends BaseController {
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;
import com.zdxt.common.BaseDomain;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class SixAnalysisParams {
public class SixAnalysisParams extends BaseDomain {
private Long userId;
private String bureauDeptId;
private String bureauDeptName;
@ -24,15 +26,15 @@ public class SixAnalysisParams {
private Integer month;
private Integer day;
Map<String, Object> params = new HashMap<String, Object>();
public Map<String, Object> getParams() {
return params;
}
public void setParams(Map<String, Object> params) {
this.params = params;
}
// Map<String, Object> params = new HashMap<String, Object>();
//
// public Map<String, Object> getParams() {
// return params;
// }
//
// public void setParams(Map<String, Object> params) {
// this.params = params;
// }
public Long getUserId() {
return userId;

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

@ -1,6 +1,7 @@
package com.zdxt.code.mapper;
import com.zdxt.code.domain.ComprehensiveAnalysis;
import com.zdxt.code.domain.EnterpriseInformation;
import com.zdxt.code.domain.SixAnalysisParams;
import com.zdxt.code.domain.StatisticsIndicatorPart;
@ -109,5 +110,9 @@ public interface StatisticalPanelMapper {
/** 检查类别 */
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;
import com.zdxt.code.domain.ComprehensiveAnalysis;
import com.zdxt.code.domain.SixAnalysis;
import com.zdxt.code.domain.SixAnalysisParams;
import com.zdxt.code.domain.StatisticsIndicatorPart;
import com.zdxt.code.domain.*;
import com.zdxt.code.domain.dto.StatisticalPanelDto;
import java.util.List;
@ -52,6 +49,15 @@ public interface StatisticalPaneService {
List<SixAnalysis> sixIndicators(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>> staisticalComplaint_order(SixAnalysisParams params);
@ -59,5 +65,9 @@ public interface StatisticalPaneService {
/** 检查类别 */
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
public List<SixAnalysis> sixIndicators(SixAnalysisParams params) {
if (StringUtils.isNotEmpty(params.getQy())) {
String qy=iDictDataService.selectDictLabel("address_Type",params.getQy());
params.setQy(qy);
}
// if (StringUtils.isNotEmpty(params.getQy())) {
// String qy=iDictDataService.selectDictLabel("address_Type",params.getQy());
// params.setQy(qy);
// }
// 获取当前月的 今天 / 第一天
LocalDate current_day = LocalDate.now(); // 当月的今天
@ -673,7 +673,7 @@ public class StatisticalPaneServiceImpl implements StatisticalPaneService {
SixAnalysis registration = new SixAnalysis();
all_area.add(registration);
registration.setTitle("涉企检查数量");
int reg_num = statisticalPanelMapper.staisticalRegistration(params);
int reg_num = this.staisticalRegistration(params);
double reg_rr_num = statisticalPanelMapper.staisticalRegistration_rr(params);
double reg_yoy_num = statisticalPanelMapper.staisticalRegistration_yoy(params);
registration.setNum(reg_num);
@ -684,7 +684,7 @@ public class StatisticalPaneServiceImpl implements StatisticalPaneService {
all_area.add(unite_registration);
unite_registration.setTitle("联合检查数量");
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_yoy_num = statisticalPanelMapper.staisticalRegistration_yoy(params);
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.setYoy(this.calculateYearOverYear(com_yoy_num, com_num));
//执法预警数量
SixAnalysis warning = new SixAnalysis();
all_area.add(warning);
warning.setTitle("执法预警数量");
int war_num = statisticalPanelMapper.staisticalWarning(params);
double war_rr_num = statisticalPanelMapper.staisticalWarning_rr(params);
double war_yoy_num = statisticalPanelMapper.staisticalWarning_yoy(params);
warning.setNum(war_num);
warning.setRing_ratio(this.calculateRingRatio(war_rr_num, war_num));
warning.setYoy(this.calculateYearOverYear(war_yoy_num, war_num));
// SixAnalysis warning = new SixAnalysis();
// all_area.add(warning);
// warning.setTitle("执法预警数量");
// int war_num = statisticalPanelMapper.staisticalWarning(params);
// double war_rr_num = statisticalPanelMapper.staisticalWarning_rr(params);
// double war_yoy_num = statisticalPanelMapper.staisticalWarning_yoy(params);
// warning.setNum(war_num);
// warning.setRing_ratio(this.calculateRingRatio(war_rr_num, war_num));
// warning.setYoy(this.calculateYearOverYear(war_yoy_num, war_num));
//企业数量
SixAnalysis enterprise = new SixAnalysis();
all_area.add(enterprise);
@ -742,10 +742,10 @@ public class StatisticalPaneServiceImpl implements StatisticalPaneService {
params.setUniteCheck("0");
unite_registration.setCurrent_month_num(statisticalPanelMapper.staisticalRegistration(params));
params.setUniteCheck(null);
lawEnforcement.setCurrent_month_num(statisticalPanelMapper.staisticalLawEnforcement(params));
complaint.setCurrent_month_num(statisticalPanelMapper.staisticalComplaint(params));
warning.setCurrent_month_num(statisticalPanelMapper.staisticalWarning(params));
enterprise.setCurrent_month_num(statisticalPanelMapper.staisticalEnterprise(params));
lawEnforcement.setCurrent_month_num(this.staisticalLawEnforcement(params));
complaint.setCurrent_month_num(this.staisticalComplaint(params));
// warning.setCurrent_month_num(statisticalPanelMapper.staisticalWarning(params));
enterprise.setCurrent_month_num(this.staisticalEnterprise(params));
/** -------- 昨天 -------- */
LocalDate yesterday = LocalDate.now().minusDays(1);
@ -756,16 +756,46 @@ public class StatisticalPaneServiceImpl implements StatisticalPaneService {
params.setUniteCheck("0");
unite_registration.setYesterday_num(statisticalPanelMapper.staisticalRegistration(params));
params.setUniteCheck(null);
lawEnforcement.setYesterday_num(statisticalPanelMapper.staisticalLawEnforcement(params));
complaint.setYesterday_num(statisticalPanelMapper.staisticalComplaint(params));
warning.setYesterday_num(statisticalPanelMapper.staisticalWarning(params));
enterprise.setYesterday_num(statisticalPanelMapper.staisticalEnterprise(params));
lawEnforcement.setYesterday_num(this.staisticalLawEnforcement(params));
complaint.setYesterday_num(this.staisticalComplaint(params));
// warning.setYesterday_num(statisticalPanelMapper.staisticalWarning(params));
enterprise.setYesterday_num(this.staisticalEnterprise(params));
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
public List<Map<String, Object>> sixIndicators_area(SixAnalysisParams params) {
String area_flag = params.getQy();
List<DictData> area_list = iDictDataService.selectDictDataByType("address_Type");
List<Map<String, Object>> all_area=new ArrayList<>();
for(DictData area:area_list) {
@ -779,34 +809,34 @@ public class StatisticalPaneServiceImpl implements StatisticalPaneService {
SixAnalysis registration = new SixAnalysis();
areas.add(registration);
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();
areas.add(unite_registration);
unite_registration.setTitle("联合检查次数");
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);
// 行政检查预告数量
SixAnalysis lawEnforcement = new SixAnalysis();
areas.add(lawEnforcement);
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();
areas.add(complaint);
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();
areas.add(warning);
warning.setTitle("执法预警次数");
warning.setNum(statisticalPanelMapper.staisticalWarning(params));
// SixAnalysis warning = new SixAnalysis();
// areas.add(warning);
// warning.setTitle("执法预警次数");
// warning.setNum(statisticalPanelMapper.staisticalWarning(params));
//企业数量
SixAnalysis enterprise = new SixAnalysis();
areas.add(enterprise);
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);
all_area.add(info);
}
@ -854,6 +884,78 @@ public class StatisticalPaneServiceImpl implements StatisticalPaneService {
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 当期数值

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;
}
}

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

@ -4,6 +4,31 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<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">
<result property="createTime" column="create_time" />
<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 == '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="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), '新区%'))
@ -138,6 +163,10 @@
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="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_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 test="params.dataScope != null and params.dataScope != ''">
${params.dataScope}
</if>
</where>
</select>
<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(#{endTime},'%Y-%m-%d') >= DATE_FORMAT(DATE_SUB(r.create_time,INTERVAL -1 year),'%Y-%m-%d')
</if>
<!-- 数据范围过滤 -->
<if test="params.dataScope != null and params.dataScope != ''">
${params.dataScope}
</if>
</where>
</select>
@ -265,6 +302,10 @@
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')
</if>
<!-- 数据范围过滤 -->
<if test="params.dataScope != null and params.dataScope != ''">
${params.dataScope}
</if>
</where>
</select>
<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_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 test="params.dataScope != null and params.dataScope != ''">
${params.dataScope}
</if>
</where>
</select>
<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(#{endTime},'%Y-%m-%d') >= DATE_FORMAT(DATE_SUB(n.create_time,INTERVAL -1 year),'%Y-%m-%d')
</if>
<!-- 数据范围过滤 -->
<if test="params.dataScope != null and params.dataScope != ''">
${params.dataScope}
</if>
</where>
</select>
@ -374,6 +423,10 @@
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>
</select>
<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_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 test="params.dataScope != null and params.dataScope != ''">
${params.dataScope}
</if>
</where>
</select>
<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(#{endTime},'%Y-%m-%d') >= DATE_FORMAT(DATE_SUB(c.complaint_time,INTERVAL -1 year),'%Y-%m-%d')
</if>
<!-- 数据范围过滤 -->
<if test="params.dataScope != null and params.dataScope != ''">
${params.dataScope}
</if>
</where>
</select>
@ -483,6 +544,10 @@
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')
</if>
<!-- 数据范围过滤 -->
<if test="params.dataScope != null and params.dataScope != ''">
${params.dataScope}
</if>
</where>
</select>
<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_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 test="params.dataScope != null and params.dataScope != ''">
${params.dataScope}
</if>
</where>
</select>
<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(#{endTime},'%Y-%m-%d') >= DATE_FORMAT(DATE_SUB(w.create_time,INTERVAL -1 year),'%Y-%m-%d')
</if>
<!-- 数据范围过滤 -->
<if test="params.dataScope != null and params.dataScope != ''">
${params.dataScope}
</if>
</where>
</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_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 test="params.dataScope != null and params.dataScope != ''">
${params.dataScope}
</if>
</where>
</select>
<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(#{endTime},'%Y-%m-%d') >= DATE_FORMAT(DATE_SUB(e.create_time,INTERVAL -1 year),'%Y-%m-%d')
</if>
<!-- 数据范围过滤 -->
<if test="params.dataScope != null and params.dataScope != ''">
${params.dataScope}
</if>
</where>
</select>
@ -695,6 +776,10 @@
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>
group by r.enterprise_number order by num desc
</select>
@ -731,6 +816,10 @@
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.complaint_department_id order by num desc;
</select>
@ -775,10 +864,16 @@
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>
group by r.bureau_dept_id order by num desc
</select>
<!-- 检查类别 -->
<select id="staisticalCheck_category" parameterType="SixAnalysisParams" resultType="map">
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
@ -822,8 +917,106 @@
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>
group by r.check_category
</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>

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;
/** 1:市直; 2:区; 3:区直; 4:街道 */
private String zone;
public String getZone() {
return zone;
}
public void setZone(String zone) {
this.zone = zone;
}
public String getDeptId() {
return deptId;
}

Loading…
Cancel
Save