Commit ceb783a3 by 梅存智

工作台优化

parent 73f36cad
......@@ -23,7 +23,7 @@ public interface EventTrackApiClients {
void addEvent(@RequestParam("type") String type, @RequestParam("businessId") Long businessId);
@GetMapping("/api/eventTrack/getTodayNum")
EventTrackDayNumVo getTodayNum(@RequestParam(value = "date",required = false) String date);
EventTrackDayNumVo getTodayNum(@RequestParam(value = "date",required = false) String date, @RequestParam(value = "types",required = false) Integer types);
@GetMapping("/api/eventTrack/getNumByType")
DayNumVo getNumByType(@RequestParam(value = "date",required = false) String date, @RequestParam("types")List<Integer> types);
......@@ -43,4 +43,7 @@ public interface EventTrackApiClients {
@GetMapping("/api/eventTrack/getExamTotal")
Integer getExamTotal(@RequestParam("subType") String subType,@RequestParam("year") String year);
@GetMapping("/api/eventTrack/queryExamNum")
List<EventTrackDeptNumVo> queryExamNum();
}
......@@ -34,7 +34,7 @@ public class EventTrackController {
@GetMapping("/api/eventTrack/getTodayNum")
public EventTrackDayNumVo getTodayNum(@RequestParam(value = "date", required = false) String date) {
public EventTrackDayNumVo getTodayNum(@RequestParam(value = "date", required = false) String date, @RequestParam(value = "types", required = false) Integer types) {
return eventTrackService.getTodayNum(date);
}
......@@ -68,4 +68,9 @@ public class EventTrackController {
public Integer getExamTotal(@RequestParam("subType") String subType,@RequestParam("year") String year){
return eventTrackService.getExamTotal(subType,year);
}
@GetMapping("/api/eventTrack/queryExamNum")
public List<EventTrackDeptNumVo> queryExamNum(){
return eventTrackService.queryExamNum();
}
}
......@@ -52,8 +52,11 @@ public interface EventTrackMapper extends BaseMapper<EventTrack> {
Integer getCommentNum(@Param("businessId")Long businessId,@Param("siteId") Long siteId);
DayNumVo getMailTgNumByType(@Param("date") String date,@Param("dateString") String dateString,@Param("siteId") Long siteId);
DayNumVo getMailTgNumByType(@Param("date") String date,@Param("dateString") String dateString,@Param("siteId") Long siteId, @Param("weekStartDate") String weekStartDate, @Param("weekEndDate") String weekEndDate);
@MapKey("subType")
Map<String, EventTrackTypeNumVo> queryTrainningNumBydeptId();
@MapKey("subType")
Map<String, EventTrackTypeNumVo> queryExamNumBydeptId();
}
......@@ -35,4 +35,6 @@ public interface EventTrackService extends IService<EventTrack> {
List<EventTrackVo> queryListByType(Integer type, Long accountId);
Integer getExamTotal(String subType,String year);
List<EventTrackDeptNumVo> queryExamNum();
}
......@@ -166,7 +166,114 @@ public class EventTrackServiceImpl extends ServiceImpl<EventTrackMapper, EventTr
String dateString =getDateString(date);
if(Objects.equals(types.get(0),5)){
//return this.baseMapper.getTgNumByType(date,dateString,context.getSiteId()); //20250810按新需求注释,现统计党委和纪检信箱
return this.baseMapper.getMailTgNumByType(date,dateString,context.getSiteId());
//月
if(date.equals("2")){
DayNumVo day7NumVo = new DayNumVo();
//查询本、上月
dateString = dateString + "-01 00:00:00";
DayNumVo dayNumVo = this.baseMapper.getMailTgNumByType(date,dateString,context.getSiteId(), null, null);
day7NumVo.setNum(dayNumVo.getNum());
day7NumVo.setPreNum(dayNumVo.getPreNum());
//查询第3、第4月
Date curDate = DateUtil.parse(dateString, "yyyy-MM-dd");
curDate = DateUtil.getFirstDayOfMonth(DateUtil.addDay(curDate, -1));
curDate = DateUtil.getFirstDayOfMonth(DateUtil.addDay(curDate, -1));
dateString = DateUtil.format(curDate, "yyyy-MM-dd");
dayNumVo = this.baseMapper.getMailTgNumByType(date,dateString,context.getSiteId(), null, null);
day7NumVo.setThirdNum(dayNumVo.getNum());
day7NumVo.setFourtNum(dayNumVo.getPreNum());
//查询第5、第6月
curDate = DateUtil.parse(dateString, "yyyy-MM-dd");
curDate = DateUtil.getFirstDayOfMonth(DateUtil.addDay(curDate, -1));
curDate = DateUtil.getFirstDayOfMonth(DateUtil.addDay(curDate, -1));
dateString = DateUtil.format(curDate, "yyyy-MM-dd");
dayNumVo = this.baseMapper.getMailTgNumByType(date,dateString,context.getSiteId(), null, null);
day7NumVo.setFifthNum(dayNumVo.getNum());
day7NumVo.setSixNum(dayNumVo.getPreNum());
//查询第7月
curDate = DateUtil.parse(dateString, "yyyy-MM-dd");
curDate = DateUtil.getFirstDayOfMonth(DateUtil.addDay(curDate, -1));
curDate = DateUtil.getFirstDayOfMonth(DateUtil.addDay(curDate, -1));
dateString = DateUtil.format(curDate, "yyyy-MM-dd");
dayNumVo = this.baseMapper.getMailTgNumByType(date,dateString,context.getSiteId(), null, null);
day7NumVo.setSeventhNum(dayNumVo.getNum());
return day7NumVo;
}
//日
if(date.equals("3")){
DayNumVo day7NumVo = new DayNumVo();
//查询本、昨日
DayNumVo dayNumVo = this.baseMapper.getMailTgNumByType(date,dateString,context.getSiteId(), null, null);
day7NumVo.setNum(dayNumVo.getNum());
day7NumVo.setPreNum(dayNumVo.getPreNum());
//查询第3、第4日
Date curDate = DateUtil.parse(dateString, "yyyy-MM-dd");
curDate = DateUtil.addDay(curDate, -2);
dateString = DateUtil.format(curDate, "yyyy-MM-dd");
dayNumVo = this.baseMapper.getMailTgNumByType(date,dateString,context.getSiteId(), null, null);
day7NumVo.setThirdNum(dayNumVo.getNum());
day7NumVo.setFourtNum(dayNumVo.getPreNum());
//查询第5、第6日
curDate = DateUtil.addDay(curDate, -2);
dateString = DateUtil.format(curDate, "yyyy-MM-dd");
dayNumVo = this.baseMapper.getMailTgNumByType(date,dateString,context.getSiteId(), null, null);
day7NumVo.setFifthNum(dayNumVo.getNum());
day7NumVo.setSixNum(dayNumVo.getPreNum());
//查询第7日
curDate = DateUtil.addDay(curDate, -2);
dateString = DateUtil.format(curDate, "yyyy-MM-dd");
dayNumVo = this.baseMapper.getMailTgNumByType(date,dateString,context.getSiteId(), null, null);
day7NumVo.setSeventhNum(dayNumVo.getNum());
return day7NumVo;
}
//周
if(date.equals("4")){
DayNumVo day7NumVo = new DayNumVo();
//查询本、上周
Date curDate = new Date();
String weekStartDate = DateUtil.format(DateUtil.getFirstDayOfWeek(curDate), "yyyy-MM-dd");
String weekEndDate = DateUtil.format(curDate, "yyyy-MM-dd");
DayNumVo dayNumVo = this.baseMapper.getMailTgNumByType(date,dateString,context.getSiteId(), weekStartDate, weekEndDate);
day7NumVo.setNum(dayNumVo.getNum());
day7NumVo.setPreNum(dayNumVo.getPreNum());
//查询第3、第4周
curDate = DateUtil.addDay(DateUtil.getFirstDayOfWeek(DateUtil.parse(weekStartDate + " 00:00:00", "yyyy-MM-dd HH:mm:ss")), -8);
weekStartDate = DateUtil.format(DateUtil.getFirstDayOfWeek(curDate), "yyyy-MM-dd");
weekEndDate = DateUtil.format(curDate, "yyyy-MM-dd");
dayNumVo = this.baseMapper.getMailTgNumByType(date,dateString,context.getSiteId(), weekStartDate, weekEndDate);
day7NumVo.setThirdNum(dayNumVo.getNum());
day7NumVo.setFourtNum(dayNumVo.getPreNum());
//查询第5、第6周
curDate = DateUtil.addDay(DateUtil.getFirstDayOfWeek(DateUtil.parse(weekStartDate + " 00:00:00", "yyyy-MM-dd HH:mm:ss")), -8);
weekStartDate = DateUtil.format(DateUtil.getFirstDayOfWeek(curDate), "yyyy-MM-dd");
weekEndDate = DateUtil.format(curDate, "yyyy-MM-dd");
dayNumVo = this.baseMapper.getMailTgNumByType(date,dateString,context.getSiteId(), weekStartDate, weekEndDate);
day7NumVo.setFifthNum(dayNumVo.getNum());
day7NumVo.setSixNum(dayNumVo.getPreNum());
//查询第7周
curDate = DateUtil.addDay(DateUtil.getFirstDayOfWeek(DateUtil.parse(weekStartDate + " 00:00:00", "yyyy-MM-dd HH:mm:ss")), -8);
weekStartDate = DateUtil.format(DateUtil.getFirstDayOfWeek(curDate), "yyyy-MM-dd");
weekEndDate = DateUtil.format(curDate, "yyyy-MM-dd");
dayNumVo = this.baseMapper.getMailTgNumByType(date,dateString,context.getSiteId(), weekStartDate, weekEndDate);
day7NumVo.setSeventhNum(dayNumVo.getNum());
return day7NumVo;
}
return this.baseMapper.getMailTgNumByType(date,dateString,context.getSiteId(), null, null);
}
if(Objects.equals(types.get(0),8)){
String year = DateUtil.toShortYear(new Date());
......@@ -422,9 +529,13 @@ public class EventTrackServiceImpl extends ServiceImpl<EventTrackMapper, EventTr
Map<String, EventTrackTypeNumVo> trainningNum = this.baseMapper.queryTrainningNumBydeptId();
for(EventTrackDeptNumVo item : eventTrackDeptNumVoList){
EventTrackTypeNumVo eventTrackTypeNumVo = new EventTrackTypeNumVo();
eventTrackTypeNumVo.setSubType("发起数");
eventTrackTypeNumVo.setSubType("发起数");
eventTrackTypeNumVo.setType(99);
eventTrackTypeNumVo.setNum(trainningNum.get(item.getDeptId().toString()).getNum() == null ? 0 : trainningNum.get(item.getDeptId().toString()).getNum());
int num = 0;
if(trainningNum.get(item.getDeptId().toString()) != null ){
num = trainningNum.get(item.getDeptId().toString()).getNum() == null ? 0 : trainningNum.get(item.getDeptId().toString()).getNum();
}
eventTrackTypeNumVo.setNum(num);
item.getEventTrackTypeNumVoList().add(eventTrackTypeNumVo);
}
......@@ -542,4 +653,28 @@ public class EventTrackServiceImpl extends ServiceImpl<EventTrackMapper, EventTr
}
return dateString;
}
@Override
public List<EventTrackDeptNumVo> queryExamNum() {
//统计参加活动
RequestContext context = ContextHolder.get();
List<EventTrackDeptNumVo> eventTrackDeptNumVoList = this.baseMapper.queryGropByList(context.getSiteId());
if (CollUtil.isNotEmpty(eventTrackDeptNumVoList)) {
Map<String, EventTrackTypeNumVo> trainningNum = this.baseMapper.queryExamNumBydeptId();
for (EventTrackDeptNumVo item : eventTrackDeptNumVoList) {
EventTrackTypeNumVo eventTrackTypeNumVo = new EventTrackTypeNumVo();
eventTrackTypeNumVo.setSubType("发起总数");
eventTrackTypeNumVo.setType(99);
int num = 0;
if(trainningNum.get(item.getDeptId().toString()) != null ){
num = trainningNum.get(item.getDeptId().toString()).getNum() == null ? 0 : trainningNum.get(item.getDeptId().toString()).getNum();
}
eventTrackTypeNumVo.setNum(num);
item.setEventTrackTypeNumVoList(new ArrayList<EventTrackTypeNumVo>());
item.getEventTrackTypeNumVoList().add(eventTrackTypeNumVo);
}
}
return eventTrackDeptNumVoList;
}
}
......@@ -272,13 +272,13 @@
select
case when
<if test="date==4">
WEEK(e.create_time) = WEEK(now()) and DATE_FORMAT(e.create_time, '%Y') = DATE_FORMAT(now(), '%Y')
DATE_FORMAT(e.create_time, '%Y-%m-%d') >=DATE_FORMAT(#{weekStartDate}, '%Y-%m-%d') AND DATE_FORMAT(e.create_time, '%Y-%m-%d') <![CDATA[ <= ]]> DATE_FORMAT(#{weekEndDate}, '%Y-%m-%d')
</if>
<if test="date==3">
DATE_FORMAT(e.create_time, '%Y-%m-%d') = #{dateString}
</if>
<if test="date==2">
DATE_FORMAT(e.create_time, '%Y-%m') = #{dateString}
DATE_FORMAT(e.create_time, '%Y-%m') = DATE_FORMAT(#{dateString}, '%Y-%m')
</if>
<if test="date==1">
DATE_FORMAT(e.create_time, '%Y') = #{dateString}
......@@ -286,20 +286,20 @@
then 1 else 0 end as num,
case when
<if test="date==4">
WEEK(e.create_time) = WEEK(DATE_SUB(DATE_FORMAT(now(), '%Y-%m-%d'), INTERVAL 7 DAY)) and DATE_FORMAT(e.create_time, '%Y') = #{dateString}
DATE_FORMAT(e.create_time, '%Y-%m-%d') >= DATE_SUB(DATE_FORMAT(#{weekStartDate}, '%Y-%m-%d'), INTERVAL 7 DAY) AND DATE_FORMAT(e.create_time, '%Y-%m-%d') <![CDATA[ <= ]]>DATE_SUB(DATE_FORMAT(#{weekStartDate}, '%Y-%m-%d'), INTERVAL 1 DAY)
</if>
<if test="date==3">
DATE_SUB(DATE_FORMAT(e.create_time, '%Y-%m-%d'), INTERVAL -1 DAY) = #{dateString}
DATE_FORMAT(e.create_time, '%Y-%m-%d') = DATE_SUB(DATE_FORMAT(#{dateString}, '%Y-%m-%d'), INTERVAL 1 DAY)
</if>
<if test="date==2">
DATE_FORMAT(DATE_SUB(DATE_FORMAT(e.create_time, '%Y-%m-%d'), INTERVAL 1 MONTH),'%Y-%m') = #{dateString}
DATE_FORMAT(e.create_time, '%Y-%m') = DATE_FORMAT(DATE_SUB(DATE_FORMAT(#{dateString}, '%Y-%m-%d'), INTERVAL 1 MONTH),'%Y-%m')
</if>
<if test="date==1">
DATE_FORMAT(DATE_SUB(DATE_FORMAT(e.create_time, '%Y-%m-%d'), INTERVAL 1 YEAR),'%Y') = #{dateString}
DATE_FORMAT(e.create_time, '%Y') = DATE_FORMAT(DATE_SUB(DATE_FORMAT(#{dateString}, '%Y-%m-%d'), INTERVAL 1 YEAR),'%Y')
</if>
then 1 else
0 end as preNum from system_mailbox e
where e.site_id = #{siteId} and e.state=4 and e.deleted=0
where e.site_id = #{siteId} and e.deleted=0
) a
</select>
......@@ -349,4 +349,10 @@
GROUP BY agm.group_id
</select>
<select id="queryExamNumBydeptId" resultType="com.yizhi.site.application.vo.site.EventTrackTypeNumVo">
SELECT agm.group_id AS subType,count(DISTINCT e.account_id) AS num
FROM cloud_exam.tr_exam_online_read_over e
INNER JOIN cloud_system.authz_group_member agm ON agm.member_id=e.org_id AND agm.deleted = 0
GROUP BY agm.group_id
</select>
</mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment