Browse Source

大屏样式调整以及轮播地图调整

master
21819 2 years ago
parent
commit
f3c8b3413a
  1. 16
      mailbox-lan/src/main/java/com/biutag/lan/controller/datascreen/DataScreenController.java
  2. 4
      mailbox-lan/src/main/java/com/biutag/lan/service/WorkService.java
  3. 88
      mailbox-lan/src/main/resources/mapper/DataScreenMapper.xml
  4. 20
      mailbox-lan/src/main/resources/mapper/WorkMapper.xml

16
mailbox-lan/src/main/java/com/biutag/lan/controller/datascreen/DataScreenController.java

@ -5,17 +5,23 @@ import com.biutag.aop.NotPower;
import com.biutag.core.AjaxResult;
import com.biutag.lan.domain.Mail;
import com.biutag.lan.domain.vo.MailDetail;
import com.biutag.lan.mapper.DataScreenMapper;
import com.biutag.lan.service.DataScreenService;
import com.biutag.lan.service.IDutyService;
import com.biutag.lan.service.MailService;
import com.biutag.lan.service.MailSourceService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Slf4j
@RestController
@ -25,10 +31,6 @@ public class DataScreenController {
@Resource
DataScreenService dataScreenService;
@Resource
IDutyService iDutyService;
@Resource
MailService mailService;
@NotLogin
@GetMapping("/mapData")
@ApiOperation(value="大屏地图数据")

4
mailbox-lan/src/main/java/com/biutag/lan/service/WorkService.java

@ -551,6 +551,8 @@ public class WorkService extends ServiceImpl<WorkMapper, Work> {
public Page<QueryMailVo> dissatisfied(Page<Mail> page, MailQuery mailQuery) {
QueryWrapper<Mail> queryWrapper = new QueryWrapper<Mail>()
//必须是已办结的件才可以申诉
.eq("m.mail_state", "completion")
.ge(StrUtil.isNotBlank(mailQuery.getMailTimeStart()), "m.mail_time", mailQuery.getMailTimeStart())
.le(StrUtil.isNotBlank(mailQuery.getMailTimeEnd()), "m.mail_time", mailQuery.getMailTimeEnd())
.eq(StrUtil.isNotBlank(mailQuery.getSource()), "m.source", mailQuery.getSource())
@ -586,7 +588,7 @@ public class WorkService extends ServiceImpl<WorkMapper, Work> {
}
}
// 排序
queryWrapper.orderByDesc("m.mail_time");
queryWrapper.orderByDesc("m.mail_time").groupBy("m.id");
Page<QueryMailVo> result = baseMapper.selectDissatisfiedPage(page, queryWrapper);
for (QueryMailVo workVo : result.getRecords()) {
workVo.setNowDeptId(AdminThreadLocal.getDeptId());

88
mailbox-lan/src/main/resources/mapper/DataScreenMapper.xml

@ -83,18 +83,40 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="deptId != null and deptId != ''"> and a.category='2' and b.second_dept_id=#{deptId} GROUP BY second_dept_name</if>
</select>
<!-- <select id="getAllCompletedRate" resultType="java.util.Map">-->
<!-- select CONCAT(ROUND(sum(COALESCE(b.completed, 0))*100/count(1),0),'%') completedRate,SUM(COALESCE(b.completed, 0)) completed,count(1) completedSum-->
<!-- from mail_mark b left join dept a on a.id=b.second_dept_id where 1=1-->
<!-- <if test="deptId != null and deptId != ''"> and a.category='2' and b.second_dept_id=#{deptId} GROUP BY second_dept_name</if>-->
<!-- </select>-->
<select id="getAllCompletedRate" resultType="java.util.Map">
select CONCAT(ROUND(sum(COALESCE(b.completed, 0))*100/count(1),0),'%') completedRate,SUM(COALESCE(b.completed, 0)) completed,count(1) completedSum
select
CONCAT(ROUND(SUM(COALESCE(b.resolved, 0))*100 / NULLIF(SUM(CASE WHEN b.completed = '1' THEN 1 ELSE 0 END), 0),0),'%') AS completedRate,
SUM(COALESCE(b.resolved, 0)) AS completed,
SUM(CASE WHEN b.completed = '1' THEN 1 ELSE 0 END) AS completedSum
from mail_mark b left join dept a on a.id=b.second_dept_id where 1=1
<if test="deptId != null and deptId != ''"> and a.category='2' and b.second_dept_id=#{deptId} GROUP BY second_dept_name</if>
</select>
<select id="getAllSatisfiedRate" resultType="java.util.Map">
select CONCAT(ROUND(sum(COALESCE(b.satisfied, 0))*100/count(1),0),'%') satisfiedRate,SUM(COALESCE(b.satisfied, 0)) satisfied,count(1) satisfiedSum
from mail_mark b left join dept a on a.id=b.second_dept_id where 1=1
<!-- <select id="getAllSatisfiedRate" resultType="java.util.Map">-->
<!-- select CONCAT(ROUND(sum(COALESCE(b.satisfied, 0))*100/count(1),0),'%') satisfiedRate,SUM(COALESCE(b.satisfied, 0)) satisfied,count(1) satisfiedSum-->
<!-- from mail_mark b left join dept a on a.id=b.second_dept_id where 1=1-->
<if test="deptId != null and deptId != ''"> and a.category='2' and b.second_dept_id=#{deptId} GROUP BY second_dept_name</if>
<!-- <if test="deptId != null and deptId != ''"> and a.category='2' and b.second_dept_id=#{deptId} GROUP BY second_dept_name</if>-->
<!-- </select>-->
<select id="getAllSatisfiedRate" resultType="java.util.Map">
select
CONCAT(ROUND(SUM(COALESCE(b.satisfied, 0))*100 / NULLIF(SUM(CASE WHEN b.completed = '1' THEN 1 ELSE 0 END), 0),0),'%') AS satisfiedRate,
SUM(COALESCE(b.satisfied, 0)) AS satisfied,
SUM(CASE WHEN b.completed = '1' THEN 1 ELSE 0 END) AS satisfiedSum
from mail_mark b left join dept a on a.id=b.second_dept_id where 1=1
<if test="deptId != null and deptId != ''">
and a.category='2' and b.second_dept_id=#{deptId} GROUP BY second_dept_name
</if>
</select>
<select id="mailTypeRank" resultType="java.util.Map" parameterType="java.util.Map">
select ROW_NUMBER() OVER (ORDER BY sumCount desc) AS rowNumber ,
mail_first_category category,count(1) sumCount ,
@ -154,23 +176,47 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</if>
GROUP BY month order by month
</select>
<select id="mapData" resultType="java.util.Map">
select d.name, a.id,
(select count(1) mailCount from mail c where c.create_time>=CURRENT_DATE and c.second_dept_id=a.id) todaysum ,
CONCAT(ROUND(sum(COALESCE(b.resolved, 0))*100/count(1),0),'%') resolvedRate,
SUM(COALESCE(b.resolved, 0)) resolved,
ROUND(sum(COALESCE(b.completed, 0))*100/count(b.mail_id),0) value,
CONCAT(ROUND(sum(COALESCE(b.completed, 0))*100/count(b.mail_id),0),'%') completedRate,
SUM(COALESCE(b.completed, 0)) completed,
CONCAT(ROUND(sum(COALESCE(b.satisfied, 0))*100/count(1),0),'%') satisfiedRate,
SUM(COALESCE(b.satisfied, 0)) satisfied,
count(1) allsum
from mail_mark b left join dept a on a.id=b.second_dept_id
inner join county_street_dept d on b.second_dept_id=d.dept_id
where 1=1
<if test="deptId != null and deptId != ''"> and b.second_dept_id=#{deptId}</if>
GROUP BY d.name,a.id
<!-- <select id="mapData" resultType="java.util.Map">-->
<!-- select d.name, a.id,-->
<!-- (select count(1) mailCount from mail c where c.create_time>=CURRENT_DATE and c.second_dept_id=a.id) todaysum ,-->
<!-- CONCAT(ROUND(sum(COALESCE(b.resolved, 0))*100/count(1),0),'%') resolvedRate,-->
<!-- SUM(COALESCE(b.resolved, 0)) resolved,-->
<!-- ROUND(sum(COALESCE(b.completed, 0))*100/count(b.mail_id),0) value,-->
<!-- CONCAT(ROUND(sum(COALESCE(b.completed, 0))*100/count(b.mail_id),0),'%') completedRate,-->
<!-- SUM(COALESCE(b.completed, 0)) completed,-->
<!-- CONCAT(ROUND(sum(COALESCE(b.satisfied, 0))*100/count(1),0),'%') satisfiedRate,-->
<!-- SUM(COALESCE(b.satisfied, 0)) satisfied,-->
<!-- count(1) allsum-->
<!-- from mail_mark b left join dept a on a.id=b.second_dept_id-->
<!-- inner join county_street_dept d on b.second_dept_id=d.dept_id-->
<!-- where 1=1-->
<!-- <if test="deptId != null and deptId != ''"> and b.second_dept_id=#{deptId}</if>-->
<!-- GROUP BY d.name,a.id-->
<!-- </select>-->
<select id="mapData" resultType="java.util.Map">
SELECT d.name, a.id,
(
SELECT COUNT(1)
FROM mail c
WHERE c.create_time >= CURRENT_DATE
AND c.second_dept_id = a.id
) AS todaysum,
CONCAT(ROUND(SUM(COALESCE(b.resolved, 0)) * 100 / NULLIF(COUNT(1), 0),0), '%') AS resolvedRate,
SUM(COALESCE(b.resolved, 0)) AS resolved,
ROUND(SUM(COALESCE(b.completed, 0)) * 100 / NULLIF(COUNT(b.mail_id), 0),0) AS value,
CONCAT(ROUND(SUM(COALESCE(b.completed, 0)) * 100 / NULLIF(COUNT(b.mail_id), 0),0), '%') AS completedRate,
SUM(COALESCE(b.completed, 0)) AS completed,
CONCAT(ROUND(SUM(COALESCE(b.satisfied, 0)) * 100 / NULLIF(COUNT(1), 0),0), '%') AS satisfiedRate,
SUM(COALESCE(b.satisfied, 0)) AS satisfied,
COUNT(b.second_dept_id) AS allsum
FROM
mail_mark b
RIGHT JOIN dept a ON a.id = b.second_dept_id
left join county_street_dept d on a.id=d.dept_id
WHERE
a.level = 2 AND a.category = 2
GROUP BY d.name, a.id
</select>
<select id="currentCountyMapJSON" resultType="java.util.Map" parameterType="java.lang.String">
select geometry from county_street_dept where 1=1

20
mailbox-lan/src/main/resources/mapper/WorkMapper.xml

@ -84,14 +84,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</select>
<select id="selectDissatisfiedPage" resultType="com.biutag.lan.domain.vo.QueryMailVo">
select distinct m.contact_name,m.contact_phone,m.contact_id_card,m.contact_sex,m.content,m.source,m.mail_time,m.id,m.mail_state,
m.mail_category ,m.mail_level,m.three_dept_id,m.three_dept_name,m.flow_key,m.flow_before_name,m.mail_labels,m.flow_name,
m.current_operator,
ma.appeal_state,ma.handling_dept,ma.step,
f.limited_time,m.flow_limited_last_handler_time,
m.extension_flag,
m.extension_days,
w.create_time
select
m.id,m.contact_name AS contact_name,m.contact_phone AS contact_phone,m.contact_id_card AS contact_id_card,
m.contact_sex AS contact_sex,m.content AS content,m.source AS source,m.mail_time AS mail_time,m.mail_state AS mail_state,
m.mail_category AS mail_category,m.mail_level AS mail_level,m.three_dept_id AS three_dept_id,m.three_dept_name AS three_dept_name,
m.flow_key AS flow_key,m.flow_before_name AS flow_before_name,m.mail_labels AS mail_labels,m.flow_name AS flow_name,
m.current_operator AS current_operator,
MAX(ma.appeal_state) AS appeal_state,
MAX(ma.handling_dept) AS handling_dept,
MAX(ma.step) AS step,
MAX(f.limited_time) AS limited_time,
m.flow_limited_last_handler_time AS flow_limited_last_handler_time,m.extension_flag AS extension_flag,m.extension_days AS extension_days,
MAX(w.create_time) AS create_time
from mail m
left join mail_appeal ma on ma.mail_id = m.id
left join mail_mark mm on mm.mail_id = m.id

Loading…
Cancel
Save