Browse Source

Merge branch 'dev_bugfix_ljj' of http://git.elinkit.com.cn:7070/r/epmet-cloud into dev

dev_shibei_match
jianjun 4 years ago
parent
commit
9d3da1372a
  1. 92
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java
  2. 19
      epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/UserAndGroupTotalResultDTO.java
  3. 2
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/pub/PubController.java
  4. 14
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java
  5. 4
      epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenPartyUserRankDataDao.xml

92
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/DateUtils.java

@ -374,13 +374,6 @@ public class DateUtils {
return DateUtils.addDateDays(nextMonth, -1);
}
// public static void main(String[] args) {
// //int weekOfYear = getWeekOfYear(new Date());
// String format = String.format("%02d", 9);
//
// System.out.println(666);
// }
/**
* 获取日期前一天
* @author zhaoqifeng
@ -825,24 +818,6 @@ public class DateUtils {
return com.epmet.commons.tools.utils.DateUtils.format(nowDate, com.epmet.commons.tools.utils.DateUtils.DATE_PATTERN_YYYYMM);
}
/**
* @Author sun
* @Description 获取当前日期的前一天日期yyyy-mm-dd
**/
public static Date yesterDay() {
Date date = new Date();
try {
DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, -24);
String str = sdf.format(calendar.getTime());
date = sdf.parse(str);
} catch (Exception e) {
e.printStackTrace();
}
return date;
}
/**
* 格式化日期
* @param dateStr String 字符型日期
@ -864,9 +839,9 @@ public class DateUtils {
* @Author sun
* @Description 获取当前日期几个自然月之前的日期yyyy-MM-dd HH:mm:ss
**/
public static String getBeforeMonthDate(int beforMonth){
public static String getBeforeMonthDate(int beforeMonth){
Calendar c = Calendar.getInstance();
c.add(Calendar.MONTH, - beforMonth);
c.add(Calendar.MONTH, - beforeMonth);
Date date = c.getTime();
return DateUtils.format(date,DateUtils.DATE_TIME_PATTERN);
}
@ -882,63 +857,6 @@ public class DateUtils {
return DateUtils.format(date,dateType);
}
/**
* 获取指定日期的 所在周的第一天和和最后一天
* @param dataStr
* @return
* @throws ParseException
*/
public static String getLastOfWeek(String dataStr) throws ParseException {
Calendar cal = Calendar.getInstance();
if (StringUtils.isNotBlank(dataStr)){
cal.setTime(new SimpleDateFormat(DateUtils.DATE_PATTERN_YYYYMMDD).parse(dataStr));
}
int d = 0;
if (cal.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {
d = -6;
} else {
d = 2 - cal.get(Calendar.DAY_OF_WEEK);
}
cal.add(Calendar.DAY_OF_WEEK, d);
// 所在周开始日期
String data1 = new SimpleDateFormat(DateUtils.DATE_PATTERN_YYYYMMDD).format(cal.getTime());
cal.add(Calendar.DAY_OF_WEEK, 6);
// 所在周结束日期
String data2 = new SimpleDateFormat(DateUtils.DATE_PATTERN_YYYYMMDD).format(cal.getTime());
return data1 + "-" + data2;
}
/**
* 获取指定日期的 所在周的第一天和和最后一天
* @param dataStr
* @return
* @throws ParseException
*/
public static String getFirstOfWeek(String dataStr) throws ParseException {
Calendar cal = Calendar.getInstance();
if (StringUtils.isNotBlank(dataStr)){
cal.setTime(new SimpleDateFormat(DateUtils.DATE_PATTERN_YYYYMMDD).parse(dataStr));
}
int d = 0;
if (cal.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {
d = -6;
} else {
d = 2 - cal.get(Calendar.DAY_OF_WEEK);
}
cal.add(Calendar.DAY_OF_WEEK, d);
// 所在周开始日期
String data1 = new SimpleDateFormat(DateUtils.DATE_PATTERN_YYYYMMDD).format(cal.getTime());
cal.add(Calendar.DAY_OF_WEEK, 6);
// 所在周结束日期
String data2 = new SimpleDateFormat(DateUtils.DATE_PATTERN_YYYYMMDD).format(cal.getTime());
return data1 + "-" + data2;
}
/**
* 获取本周的第一天
* @return String
@ -981,10 +899,8 @@ public class DateUtils {
public static void main(String[] args) throws ParseException {
String first = DateUtils.getFirstOfWeek("20210801");
System.out.println(first);
String fLastOfWeek = DateUtils.getLastOfWeek("20210801");
System.out.println(fLastOfWeek);
Date dayOfMonth = DateUtils.getMonthEnd(DateUtils.addDateMonths(new Date(),-1));
System.out.println(DateUtils.format(dayOfMonth, DateUtils.DATE_PATTERN_YYYYMMDD));
System.out.println(DateUtils.getWeekStart("20210801"));
System.out.println(DateUtils.getWeekEnd("20210801"));

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

@ -11,10 +11,23 @@ import java.io.Serializable;
@Data
public class UserAndGroupTotalResultDTO implements Serializable {
private static final long serialVersionUID = 3564816296202777303L;
//话题总数
/**
* 话题总数
*/
private Integer userTotal = 0;
//小组总数
/**
* 小组总数
*/
private Integer groupTotal = 0;
private Integer sort = 1;
/**
* 用户新增
*/
private Integer userIncr = 0;
/**
* 小组新增
*/
private Integer groupIncr = 0;
}

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

@ -97,7 +97,7 @@ public class PubController {
*/
@PostMapping("getUserAndGroupTotal")
public Result<UserAndGroupTotalResultDTO> getUserAndGroupTotal(@RequestBody BaseDataFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, BaseDataFormDTO.AgencyIdAndLevel.class);
//ValidatorUtils.validateEntity(formDTO, BaseDataFormDTO.AgencyIdAndLevel.class);
return new Result<UserAndGroupTotalResultDTO>().ok(dataStatsService.getUserAndGroupTotal(formDTO));
}

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

@ -1803,10 +1803,10 @@ public class DataStatsServiceImpl implements DataStatsService {
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));
formDTO.setDateId(DateUtils.getBeforeNDay(1));
}
//格式不对
String lastMonthDateId = DateUtils.format(DateUtils.getMonthEnd(DateUtils.addDateMonths(DateUtils.parseDate(formDTO.getDateId(),DateUtils.DATE_PATTERN_YYYYMMDD),-1)),DateUtils.DATE_PATTERN_YYYYMMDD);
UserAndGroupTotalResultDTO result = new UserAndGroupTotalResultDTO();
//0.根据组织Id查询是否存在子客户,存在的按areaCode查询当前客户之外的客户组织列表
@ -1816,9 +1816,17 @@ public class DataStatsServiceImpl implements DataStatsService {
//3-2.查询组织下用户
TotalAndIncrResultDTO userTotal = dataStatsDao.getAgencySumUser(agencyList, formDTO.getDateId());
result.setUserTotal(userTotal == null? NumConstant.ZERO:userTotal.getTotal());
TotalAndIncrResultDTO userTotalLastMonthDay = dataStatsDao.getAgencySumUser(agencyList, lastMonthDateId);
int lastUser = userTotalLastMonthDay == null ? NumConstant.ZERO : userTotalLastMonthDay.getTotal();
result.setUserIncr(result.getUserTotal()-lastUser);
//3-3.查询直属下级组织小组日统计数据
TotalAndIncrResultDTO groupTotal = dataStatsDao.getAgencySumGroup(agencyList, formDTO.getDateId());
result.setGroupTotal(groupTotal == null? NumConstant.ZERO:groupTotal.getTotal());
TotalAndIncrResultDTO groupTotalLastMonthDay = dataStatsDao.getAgencySumGroup(agencyList, lastMonthDateId);
int lastGroup = groupTotalLastMonthDay == null ? NumConstant.ZERO : groupTotalLastMonthDay.getTotal();
result.setGroupIncr(result.getGroupTotal()-lastGroup);
return result;
}

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

@ -13,6 +13,7 @@
WHERE
del_flag = '0'
AND all_parent_ids LIKE CONCAT('%',#{agencyId},'%')
and PARTY_FLAG = 0
ORDER BY
point_total DESC,
convert(user_name using gbk) ASC
@ -67,7 +68,7 @@
</if>
</if>
ORDER BY
point_total DESC
point_total DESC, convert(user_name using gbk) ASC
LIMIT #{topNum}
</select>
@ -127,6 +128,7 @@
WHERE
m.DEL_FLAG = '0'
and scg.AREA_CODE like CONCAT(#{areaCode},'%')
and m.PARTY_FLAG = 0
ORDER BY
m.POINT_TOTAL DESC,
convert(m.user_name using gbk) ASC

Loading…
Cancel
Save