From 3ca382419700698bf69d30b6f20d0fb493bd2c2d Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Wed, 13 Mar 2024 10:40:01 +0800
Subject: [PATCH] app使用统计添加行政区划筛选
---
skjcmanager/skjcmanager-service-api/skjcmanager-user-api/src/main/java/cn/gistack/system/user/feign/IUserClient.java | 7 +++
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttResManagePersonServiceImpl.java | 13 ++++++
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/vo/AppStatisticsVO.java | 2 +
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/mapper/SmLogManageMapper.java | 2
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/mapper/SmLogManageMapper.xml | 21 ++++++++--
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/service/impl/ISmLogManageServiceImpl.java | 29 ++++++++++++--
6 files changed, 63 insertions(+), 11 deletions(-)
diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-user-api/src/main/java/cn/gistack/system/user/feign/IUserClient.java b/skjcmanager/skjcmanager-service-api/skjcmanager-user-api/src/main/java/cn/gistack/system/user/feign/IUserClient.java
index 8f90767..3be238c 100644
--- a/skjcmanager/skjcmanager-service-api/skjcmanager-user-api/src/main/java/cn/gistack/system/user/feign/IUserClient.java
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-user-api/src/main/java/cn/gistack/system/user/feign/IUserClient.java
@@ -57,6 +57,10 @@
String GET_ALL_USER_LIST = API_PREFIX+ "/get-all-user-list";
String ENCRYPT_USER = API_PREFIX + "/encrypt-user";
+
+
+ String GET_SYS_USER_NUM = API_PREFIX + "/getSysUserNum";
+
/**
* 获取用户信息
*
@@ -157,4 +161,7 @@
*/
@GetMapping(ENCRYPT_USER)
String encryptUser();
+
+ @GetMapping(GET_SYS_USER_NUM)
+ int getSysUserNum(@RequestParam("adCode") String adCode);
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/mapper/SmLogManageMapper.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/mapper/SmLogManageMapper.java
index 1f355a7..3bcf058 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/mapper/SmLogManageMapper.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/mapper/SmLogManageMapper.java
@@ -20,7 +20,7 @@
public interface SmLogManageMapper extends BaseMapper<SmLogManage> {
List<AppStatistics> getAppStatistics(@Param("vo") AppStatisticsVO appStatisticsVO);
- Integer getAppUserNum();
+ Integer getAppUserNum(@Param("adCode") String adCode);
List<SmLogManageVO> selectMyPage(IPage<SmLogManageVO> page, @Param("vo") SmLogManageVO smLogManage);
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/mapper/SmLogManageMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/mapper/SmLogManageMapper.xml
index 71045ac..2f17db8 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/mapper/SmLogManageMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/mapper/SmLogManageMapper.xml
@@ -3,11 +3,22 @@
<mapper namespace="cn.gistack.sm.log.mapper.SmLogManageMapper">
<select id="getAppUserNum" resultType="java.lang.Integer">
SELECT SUM(CASE WHEN useTimes !=0 THEN 1 ELSE 0 END) FROM (
- SELECT COUNT(*) as useTimes
- FROM SM_LOG_MANAGE SLM
- WHERE SLM.SOURCE = 'APP' AND SLM.IS_DELETED = 0
- GROUP BY SLM.CREATE_USER
- )
+ SELECT
+ COUNT(*) as useTimes
+ FROM YWXT.SM_LOG_MANAGE SLM
+ LEFT JOIN YWXT.BLADE_USER BU ON BU.ID = SLM.CREATE_USER
+ LEFT JOIN YWXT.BLADE_DEPT BD ON CAST (BD.ID AS VARCHAR) = BU.DEPT_ID
+ WHERE
+ SLM.SOURCE = 'APP'
+ AND SLM.IS_DELETED = 0
+ AND SLM.CREATE_USER IS NOT NULL
+ <if test="adCode != null and adCode != ''">
+ AND CONCAT(BU.DEPT_ID,BD.AD_CODE) LIKE #{adCode}
+ </if>
+
+ GROUP BY SLM.CREATE_USER
+ )
+
</select>
<select id="getAppStatistics" resultType="cn.gistack.sm.log.vo.AppStatistics">
SELECT COUNT(A.useTime) AS useCount,A.useTime as useTime FROM
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/service/impl/ISmLogManageServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/service/impl/ISmLogManageServiceImpl.java
index 53041e4..24af6b5 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/service/impl/ISmLogManageServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/service/impl/ISmLogManageServiceImpl.java
@@ -15,8 +15,10 @@
import lombok.AllArgsConstructor;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.StringUtil;
import org.springframework.stereotype.Service;
+import java.util.ArrayList;
import java.util.List;
/**
@@ -35,13 +37,32 @@
@Override
public AppStatisticsVO getAppStatistics(AppStatisticsVO appStatisticsVO) {
- Integer appUserNum = baseMapper.getAppUserNum();
- Integer sysUserNum = userClient.getAllUserList().getData().size();
+ String adCode = "";
+ if (StringUtil.isNotBlank(appStatisticsVO.getAdCode())){
+ String paramAd = appStatisticsVO.getAdCode();
+
+ if (paramAd.substring(0,4).indexOf("00") > -1) {
+ //前四位包含00说明是湖北省 4200/00000000
+ adCode =StringUtil.format("%{}%",paramAd.substring(0,2));
+ } else if (paramAd.substring(0,6).indexOf("00") > -1) {
+ //前六位包含00说明是市级 420100/000000
+// adCode = paramAd.substring(0,4);
+ adCode =StringUtil.format("%{}%",paramAd.substring(0,4));
+ }else if (paramAd.substring(0,8).indexOf("00") > -1){
+ //前8位包含00 说明是区级 42011700/0000
+// adCode = paramAd.substring(0,6);
+ adCode =StringUtil.format("%{}%",paramAd.substring(0,6));
+ }
+ }
+
+ int appUserNum = baseMapper.getAppUserNum(adCode);
+ int sysUserNum =userClient.getSysUserNum(appStatisticsVO.getAdCode());
+
appStatisticsVO.setSysUserNum(sysUserNum);
appStatisticsVO.setAppUserNum(appUserNum);
- List<AppStatistics> appStatistics = baseMapper.getAppStatistics(appStatisticsVO);
- appStatisticsVO.setList(appStatistics);
+// List<AppStatistics> appStatistics = baseMapper.getAppStatistics(appStatisticsVO);
+// appStatisticsVO.setList(appStatistics);
return appStatisticsVO;
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/vo/AppStatisticsVO.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/vo/AppStatisticsVO.java
index 7bba8a9..12918aa 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/vo/AppStatisticsVO.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/vo/AppStatisticsVO.java
@@ -31,4 +31,6 @@
* 结束时间
*/
private String endTime;
+
+ private String adCode;
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttResManagePersonServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttResManagePersonServiceImpl.java
index 3f9e60f..43c08ca 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttResManagePersonServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttResManagePersonServiceImpl.java
@@ -279,7 +279,18 @@
deptUser.forEach(p->{
p.setRoleName("市州管理员");
});
- }else if (StringUtil.isNotBlank(townName)){
+ }else if (townName != null &&(townName.equals("县直管") || townName.equals("区直管"))){
+ //如果是区直管,找区县管理员
+ String townCode = resAd.getTownCode();
+
+ deptUser = baseMapper.getPersonByRoleAndAd("qxswjgly",townCode);
+ deptUser.forEach(p->{
+ p.setRoleName("区县管理员");
+ });
+ }
+
+
+ else if (StringUtil.isNotBlank(townName)){
//镇不是空的,找乡镇管理员
String townCode = resAd.getTownCode();
deptUser = baseMapper.getPersonByRoleAndAd("xzgly",townCode);
--
Gitblit v1.9.3