guoshilong
2024-03-13 3ca382419700698bf69d30b6f20d0fb493bd2c2d
app使用统计添加行政区划筛选
6 files modified
74 ■■■■ changed files
skjcmanager/skjcmanager-service-api/skjcmanager-user-api/src/main/java/cn/gistack/system/user/feign/IUserClient.java 7 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/mapper/SmLogManageMapper.java 2 ●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/mapper/SmLogManageMapper.xml 21 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/service/impl/ISmLogManageServiceImpl.java 29 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/log/vo/AppStatisticsVO.java 2 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttResManagePersonServiceImpl.java 13 ●●●●● patch | view | raw | blame | history
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);
}
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);
}
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
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;
    }
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;
}
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);