Commit ceb783a3 by 梅存智

工作台优化

parent 73f36cad
...@@ -23,7 +23,7 @@ public interface EventTrackApiClients { ...@@ -23,7 +23,7 @@ public interface EventTrackApiClients {
void addEvent(@RequestParam("type") String type, @RequestParam("businessId") Long businessId); void addEvent(@RequestParam("type") String type, @RequestParam("businessId") Long businessId);
@GetMapping("/api/eventTrack/getTodayNum") @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") @GetMapping("/api/eventTrack/getNumByType")
DayNumVo getNumByType(@RequestParam(value = "date",required = false) String date, @RequestParam("types")List<Integer> types); DayNumVo getNumByType(@RequestParam(value = "date",required = false) String date, @RequestParam("types")List<Integer> types);
...@@ -43,4 +43,7 @@ public interface EventTrackApiClients { ...@@ -43,4 +43,7 @@ public interface EventTrackApiClients {
@GetMapping("/api/eventTrack/getExamTotal") @GetMapping("/api/eventTrack/getExamTotal")
Integer getExamTotal(@RequestParam("subType") String subType,@RequestParam("year") String year); Integer getExamTotal(@RequestParam("subType") String subType,@RequestParam("year") String year);
@GetMapping("/api/eventTrack/queryExamNum")
List<EventTrackDeptNumVo> queryExamNum();
} }
...@@ -34,7 +34,7 @@ public class EventTrackController { ...@@ -34,7 +34,7 @@ public class EventTrackController {
@GetMapping("/api/eventTrack/getTodayNum") @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); return eventTrackService.getTodayNum(date);
} }
...@@ -68,4 +68,9 @@ public class EventTrackController { ...@@ -68,4 +68,9 @@ public class EventTrackController {
public Integer getExamTotal(@RequestParam("subType") String subType,@RequestParam("year") String year){ public Integer getExamTotal(@RequestParam("subType") String subType,@RequestParam("year") String year){
return eventTrackService.getExamTotal(subType,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> { ...@@ -52,8 +52,11 @@ public interface EventTrackMapper extends BaseMapper<EventTrack> {
Integer getCommentNum(@Param("businessId")Long businessId,@Param("siteId") Long siteId); 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") @MapKey("subType")
Map<String, EventTrackTypeNumVo> queryTrainningNumBydeptId(); Map<String, EventTrackTypeNumVo> queryTrainningNumBydeptId();
@MapKey("subType")
Map<String, EventTrackTypeNumVo> queryExamNumBydeptId();
} }
...@@ -35,4 +35,6 @@ public interface EventTrackService extends IService<EventTrack> { ...@@ -35,4 +35,6 @@ public interface EventTrackService extends IService<EventTrack> {
List<EventTrackVo> queryListByType(Integer type, Long accountId); List<EventTrackVo> queryListByType(Integer type, Long accountId);
Integer getExamTotal(String subType,String year); Integer getExamTotal(String subType,String year);
List<EventTrackDeptNumVo> queryExamNum();
} }
...@@ -166,7 +166,114 @@ public class EventTrackServiceImpl extends ServiceImpl<EventTrackMapper, EventTr ...@@ -166,7 +166,114 @@ public class EventTrackServiceImpl extends ServiceImpl<EventTrackMapper, EventTr
String dateString =getDateString(date); String dateString =getDateString(date);
if(Objects.equals(types.get(0),5)){ if(Objects.equals(types.get(0),5)){
//return this.baseMapper.getTgNumByType(date,dateString,context.getSiteId()); //20250810按新需求注释,现统计党委和纪检信箱 //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)){ if(Objects.equals(types.get(0),8)){
String year = DateUtil.toShortYear(new Date()); String year = DateUtil.toShortYear(new Date());
...@@ -422,9 +529,13 @@ public class EventTrackServiceImpl extends ServiceImpl<EventTrackMapper, EventTr ...@@ -422,9 +529,13 @@ public class EventTrackServiceImpl extends ServiceImpl<EventTrackMapper, EventTr
Map<String, EventTrackTypeNumVo> trainningNum = this.baseMapper.queryTrainningNumBydeptId(); Map<String, EventTrackTypeNumVo> trainningNum = this.baseMapper.queryTrainningNumBydeptId();
for(EventTrackDeptNumVo item : eventTrackDeptNumVoList){ for(EventTrackDeptNumVo item : eventTrackDeptNumVoList){
EventTrackTypeNumVo eventTrackTypeNumVo = new EventTrackTypeNumVo(); EventTrackTypeNumVo eventTrackTypeNumVo = new EventTrackTypeNumVo();
eventTrackTypeNumVo.setSubType("发起数"); eventTrackTypeNumVo.setSubType("发起数");
eventTrackTypeNumVo.setType(99); 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); item.getEventTrackTypeNumVoList().add(eventTrackTypeNumVo);
} }
...@@ -542,4 +653,28 @@ public class EventTrackServiceImpl extends ServiceImpl<EventTrackMapper, EventTr ...@@ -542,4 +653,28 @@ public class EventTrackServiceImpl extends ServiceImpl<EventTrackMapper, EventTr
} }
return dateString; 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 @@ ...@@ -272,13 +272,13 @@
select select
case when case when
<if test="date==4"> <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>
<if test="date==3"> <if test="date==3">
DATE_FORMAT(e.create_time, '%Y-%m-%d') = #{dateString} DATE_FORMAT(e.create_time, '%Y-%m-%d') = #{dateString}
</if> </if>
<if test="date==2"> <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>
<if test="date==1"> <if test="date==1">
DATE_FORMAT(e.create_time, '%Y') = #{dateString} DATE_FORMAT(e.create_time, '%Y') = #{dateString}
...@@ -286,20 +286,20 @@ ...@@ -286,20 +286,20 @@
then 1 else 0 end as num, then 1 else 0 end as num,
case when case when
<if test="date==4"> <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>
<if test="date==3"> <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>
<if test="date==2"> <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>
<if test="date==1"> <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> </if>
then 1 else then 1 else
0 end as preNum from system_mailbox e 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 ) a
</select> </select>
...@@ -349,4 +349,10 @@ ...@@ -349,4 +349,10 @@
GROUP BY agm.group_id GROUP BY agm.group_id
</select> </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> </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