Browse Source

Merge remote-tracking branch 'remotes/origin/dev'

master
jianjun 4 years ago
parent
commit
787bed27ab
  1. 6
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/BaseStatsDataResultDTO.java
  2. 20
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/UserAndGroupTotalResultDTO.java
  3. 4
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/form/StaffListFormDTO.java
  4. 17
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/pub/PubController.java
  5. 19
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/datastats/DataStatsDao.java
  6. 7
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/CustomerStaffDao.java
  7. 10
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/DataStatsService.java
  8. 23
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java
  9. 25
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java
  10. 26
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml
  11. 16
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/CustomerStaffDao.xml
  12. 11
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffPatrolRecordDao.xml
  13. 5
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/form/AdvancedBranchRankFormDTO.java
  14. 10
      epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenIndexDataMonthlyDao.xml
  15. 6
      epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenPartyUserRankDataDao.xml
  16. 2
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueManageController.java

6
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/BaseStatsDataResultDTO.java

@ -14,18 +14,12 @@ public class BaseStatsDataResultDTO implements Serializable {
private Integer topicTotal;
private Integer topicIncr;
// private Integer topicToIssueTotal;
private Integer issueTotal;
private Integer issueIncr;
// private Integer issueToProjectTotal;
private Integer projectTotal;
private Integer projectIncr;
private Integer closedProjectTotal;
private Integer closedProjectIncr;
// private Integer patrolTotal;
// private Integer patrolTotalTime;
// private Integer orgId;
// private Integer orgName;

20
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/UserAndGroupTotalResultDTO.java

@ -0,0 +1,20 @@
package com.epmet.dataaggre.dto.datastats.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description 对外接口--查询当前组织的用户和小组总数数
* @Auth sun
*/
@Data
public class UserAndGroupTotalResultDTO implements Serializable {
private static final long serialVersionUID = 3564816296202777303L;
//话题总数
private Integer userTotal = 0;
//小组总数
private Integer groupTotal = 0;
private Integer sort = 1;
}

4
epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/epmetuser/form/StaffListFormDTO.java

@ -36,6 +36,10 @@ public class StaffListFormDTO implements Serializable {
* 工作人员姓名可空
*/
private String staffName;
/**
* 工作人员Id
*/
private String staffId;
/**
* 页码
* */

17
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/pub/PubController.java

@ -7,10 +7,7 @@ import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dataaggre.dto.datastats.form.BaseDataFormDTO;
import com.epmet.dataaggre.dto.datastats.result.BaseStatsDataResultDTO;
import com.epmet.dataaggre.dto.datastats.result.SubTopicAndGroupResultDTO;
import com.epmet.dataaggre.dto.datastats.result.SubUserTotalResultDTO;
import com.epmet.dataaggre.dto.datastats.result.WorkFactResultDTO;
import com.epmet.dataaggre.dto.datastats.result.*;
import com.epmet.dataaggre.service.datastats.DataStatsService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@ -93,11 +90,21 @@ public class PubController {
return new Result<List<SubTopicAndGroupResultDTO>>().ok(data);
}
/**
* @Param formDTO
* @Description 对外接口--查询当前组织的用户和小组总数数
* @author sun
*/
@PostMapping("getUserAndGroupTotal")
public Result<UserAndGroupTotalResultDTO> getUserAndGroupTotal(@RequestBody BaseDataFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, BaseDataFormDTO.AgencyIdAndLevel.class);
return new Result<UserAndGroupTotalResultDTO>().ok(dataStatsService.getUserAndGroupTotal(formDTO));
}
/**
* 导出数据使用map接收
*
* @param formDTO
* @param response
* @throws IOException
* @return
*/

19
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/datastats/DataStatsDao.java

@ -276,9 +276,28 @@ public interface DataStatsDao {
/**
* 获取话题相关总数
*
* @param agencyList
* @param dateId
* @return
*/
List<BaseStatsDataResultDTO> getSubSumAgencyTopic(@Param("agencyList") List<String> agencyList, @Param("dateId") String dateId);
/**
* desc:获取用户总数
*
* @param agencyList
* @param dateId
* @return
*/
TotalAndIncrResultDTO getAgencySumUser(@Param("agencyList") List<String> agencyList, @Param("dateId") String dateId);
/**
* desc:获取小组总数
*
* @param agencyList
* @param dateId
* @return
*/
TotalAndIncrResultDTO getAgencySumGroup(@Param("agencyList") List<String> agencyList, @Param("dateId") String dateId);
}

7
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/epmetuser/CustomerStaffDao.java

@ -23,6 +23,8 @@ import com.epmet.dataaggre.entity.epmetuser.CustomerStaffEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 政府工作人员表
*
@ -37,4 +39,9 @@ public interface CustomerStaffDao extends BaseDao<CustomerStaffEntity> {
* @author sun
*/
CustomerStaffDTO selectByMobile(@Param("customerId") String customerId, @Param("mobile") String mobile);
/**
* @Description 按staffId查询基础信息
* @author sun
*/
List<CustomerStaffDTO> selectByStaffIds(@Param("staffIds") List<String> staffIds, @Param("realName") String realName);
}

10
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/DataStatsService.java

@ -211,4 +211,14 @@ public interface DataStatsService {
* @param formDTO
*/
List<SubTopicAndGroupResultDTO> subTopicAndGroup(BaseDataFormDTO formDTO);
/**
* desc: 对外接口--查询当前组织的用户和小组总数数
*
* @param formDTO
* @return java.util.List<com.epmet.dataaggre.dto.datastats.result.UserAndGroupTotalResultDTO>
* @author LiuJanJun
* @date 2021/8/12 2:23 下午
*/
UserAndGroupTotalResultDTO getUserAndGroupTotal(BaseDataFormDTO formDTO);
}

23
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java

@ -1799,4 +1799,27 @@ public class DataStatsServiceImpl implements DataStatsService {
return resultList;
}
@Override
public UserAndGroupTotalResultDTO getUserAndGroupTotal(BaseDataFormDTO formDTO) {
//入参有日期的则按具体时间执行,没有的则按当前时间前一天执行
if (StringUtils.isBlank(formDTO.getDateId())) {
Date yesterday = DateUtils.addDateDays(new Date(), -1);
SimpleDateFormat format = new SimpleDateFormat(DateUtils.DATE_PATTERN_YYYYMMDD);
formDTO.setDateId(format.format(yesterday));
}
UserAndGroupTotalResultDTO result = new UserAndGroupTotalResultDTO();
//0.根据组织Id查询是否存在子客户,存在的按areaCode查询当前客户之外的客户组织列表
List<String> agencyList = indexService.getAgencyIdsByAgencyId(formDTO.getAgencyId());
agencyList.add(formDTO.getAgencyId());
//3-2.查询组织下用户
TotalAndIncrResultDTO userTotal = dataStatsDao.getAgencySumUser(agencyList, formDTO.getDateId());
result.setUserTotal(userTotal == null? NumConstant.ZERO:userTotal.getTotal());
//3-3.查询直属下级组织小组日统计数据
TotalAndIncrResultDTO groupTotal = dataStatsDao.getAgencySumGroup(agencyList, formDTO.getDateId());
result.setGroupTotal(groupTotal == null? NumConstant.ZERO:groupTotal.getTotal());
return result;
}
}

25
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/epmetuser/impl/EpmetUserServiceImpl.java

@ -25,11 +25,11 @@ import com.epmet.dataaggre.service.epmetuser.StaffPatrolRecordService;
import com.epmet.dataaggre.service.govorg.GovOrgService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.text.NumberFormat;
import java.util.*;
import java.util.stream.Collectors;
@ -274,10 +274,31 @@ public class EpmetUserServiceImpl implements EpmetUserService {
formDTO.setPageNo(pageIndex);
//起始查询日期
formDTO.setPatrolStartTime(DateUtils.getBeforeMonthDate(formDTO.getTime(), "yyyyMMdd"));
List<CustomerStaffDTO> staffList = new ArrayList<>();
//2-1.按名字检索时先查询人员基础信息
if (StringUtils.isEmpty(formDTO.getStaffName())) {
staffList = customerStaffDao.selectByStaffIds(null, formDTO.getStaffName());
if (!CollectionUtils.isEmpty(staffList)) {
formDTO.setStaffId(staffList.get(0).getUserId());
}
}
//2-2.查询业务数据
resultList = staffPatrolRecordDao.selectStaffPatrolList(formDTO);
//2-3.查询人员基本信息【之前sql关联人员表查性别、姓名效率低 所以分开查)
if (!CollectionUtils.isEmpty(staffList)) {
List<String> staffIdList = resultList.stream().map(StaffListResultDTO::getStaffId).collect(Collectors.toList());
staffList = customerStaffDao.selectByStaffIds(staffIdList, null);
}
//3.封装数据并返回
resultList.forEach(re -> list.stream().filter(l -> re.getGridId().equals(l.getId())).forEach(s -> re.setGridName(s.getGridName())));
List<CustomerStaffDTO> finalStaffList = staffList;
resultList.forEach(re -> {
list.stream().filter(l -> re.getGridId().equals(l.getId())).forEach(s -> re.setGridName(s.getGridName()));
finalStaffList.stream().filter(l -> re.getStaffId().equals(l.getUserId())).forEach(s -> {
re.setGender(s.getGender().toString());
re.setStaffName(s.getRealName());
});
});
//NumberFormat numberFormat = NumberFormat.getInstance();
//numberFormat.setMaximumFractionDigits(NumConstant.ZERO);
resultList.forEach(re -> {

26
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml

@ -742,5 +742,31 @@
agency_id = #{agencyId}
</foreach>
</select>
<select id="getAgencySumUser" resultType="com.epmet.dataaggre.dto.datastats.result.TotalAndIncrResultDTO">
SELECT
SUM(reg_total) AS total
FROM
fact_reg_user_agency_daily
WHERE
del_flag = '0'
AND date_id = #{dateId}
<foreach item="agencyId" collection="agencyList" open="AND (" separator="or" close=")" index="">
agency_id = #{agencyId}
</foreach>
</select>
<select id="getAgencySumGroup" resultType="com.epmet.dataaggre.dto.datastats.result.TotalAndIncrResultDTO">
SELECT
group_total AS total
FROM
fact_group_total_agency_daily
WHERE
del_flag = '0'
AND date_id = #{dateId}
<foreach item="agencyId" collection="agencyList" open="AND (" separator="or" close=")" index="">
agency_id = #{agencyId}
</foreach>
ORDER BY
group_total DESC
</select>
</mapper>

16
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/CustomerStaffDao.xml

@ -15,4 +15,20 @@
LIMIT 1
</select>
<select id="selectByStaffIds" resultType="com.epmet.dataaggre.dto.epmetuser.CustomerStaffDTO">
SELECT
*
FROM
customer_staff
WHERE 1=1
<if test="realName != null and realName != '' ">
AND real_name = #{realName}
</if>
<if test="staffIds != null and staffIds.size() > 0">
<foreach collection="staffIds" item="userId" open="AND user_id IN (" separator="," close=")">
#{userId}
</foreach>
</if>
</select>
</mapper>

11
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffPatrolRecordDao.xml

@ -59,8 +59,8 @@
SELECT
ssp.grid_id AS gridId,
ssp.staff_id AS staffId,
cs.real_name AS staffName,
cs.gender AS gender,
<!-- cs.real_name AS staffName,
cs.gender AS gender, -->
IFNULL(MAX(ssp.latest_patrol_time), '') AS patrolStartTime,
IFNULL(SUM(ssp.patrol_total), 0) AS patrolTotal,
MAX(DATE_ID) dateId,
@ -68,12 +68,15 @@
IFNULL(SUM(ssp.total_time), 0) AS timeNum
FROM
stats_staff_patrol_record_daily ssp
LEFT JOIN customer_staff cs ON ssp.staff_id = cs.user_id
<!-- LEFT JOIN customer_staff cs ON ssp.staff_id = cs.user_id -->
WHERE
ssp.del_flag = '0'
AND ssp.date_id >= #{patrolStartTime}
<if test="staffName!= null and staffName != ''">
<!-- <if test="staffName!= null and staffName != ''">
AND cs.real_name = #{staffName}
</if>-->
<if test="staffId!= null and staffId != ''">
AND ssp.staff_id = #{staffId}
</if>
<if test="gridIds != null and gridIds.size() > 0">
<foreach collection="gridIds" item="gridId" open="AND ssp.grid_id IN (" separator="," close=")">

5
epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/form/AdvancedBranchRankFormDTO.java

@ -29,8 +29,9 @@ public class AdvancedBranchRankFormDTO implements Serializable {
private String monthId;
/**
* 组织类型 agency grid
* areaCode
*/
private String orgType;
private String areaCode;
public interface AddUserInternalGroup {}
}

10
epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenIndexDataMonthlyDao.xml

@ -260,9 +260,17 @@
WHERE
dm.del_flag = '0'
AND rd.del_flag = '0'
<choose>
<when test="areaCode != null and areaCode != ''">
AND org.AREA_CODE LIKE concat(#{areaCode}, '%')
</when>
<otherwise>
AND dm.all_parent_ids LIKE concat('%', #{agencyId}, '%')
</otherwise>
</choose>
AND dm.org_type = 'grid'
AND dm.month_id = #{monthId}
AND dm.all_parent_ids LIKE concat('%', #{agencyId}, '%')
ORDER BY dm.index_total DESC
LIMIT #{topNum}
</select>

6
epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenPartyUserRankDataDao.xml

@ -15,7 +15,7 @@
AND all_parent_ids LIKE CONCAT('%',#{agencyId},'%')
ORDER BY
point_total DESC,
user_name
convert(user_name using gbk) ASC
</select>
@ -129,7 +129,7 @@
and scg.AREA_CODE like CONCAT(#{areaCode},'%')
ORDER BY
m.POINT_TOTAL DESC,
m.user_name
convert(m.user_name using gbk) ASC
</select>
<select id="selectAgencyResiPointListWithoutPartyMem"
@ -169,7 +169,7 @@
</if>
</if>
ORDER BY
u.point_total DESC
u.point_total DESC,convert(u.user_name using gbk) ASC
LIMIT #{topNum}
</select>

2
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueManageController.java

@ -56,7 +56,7 @@ public class IssueManageController {
* @Description 议题管理-部门人员选择
**/
@PostMapping("departmentstafflist")
@RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_SHIFT_PROJECT)
// @RequirePermission(requirePermission = RequirePermissionEnum.WORK_GRASSROOTS_ISSUE_SHIFT_PROJECT)
public Result<DepartmentStaffListResultDTO> departmentStaffList(@LoginUser TokenDto tokenDTO, @RequestBody DepartmentStaffListFormDTO formDTO) {
formDTO.setStaffId(tokenDTO.getUserId());
ValidatorUtils.validateEntity(formDTO);

Loading…
Cancel
Save