问题修改
This commit is contained in:
parent
bff52f8137
commit
46dfa6338d
|
|
@ -229,6 +229,7 @@ public class ParamSecureHandler implements AsyncHandlerInterceptor {
|
|||
* 判断是否越权
|
||||
*/
|
||||
private boolean checkIsYq(HttpServletRequest request) throws Exception {
|
||||
|
||||
String head=request.getHeader(SecurityConstants.FROM_SOURCE);
|
||||
if(SecurityConstants.INNER.equals(head)){
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -35,16 +35,6 @@ public class SjMaxDeviceServiceImpl implements SjMaxDeviceService{
|
|||
String endTime = endDate.toString();
|
||||
o.setStartTime(startTime);
|
||||
o.setEndTime(endTime);
|
||||
String sql = "SELECT DATE_ADD("+startTime+", INTERVAL (ones.a + tens.a * 10) DAY) AS dt\n" +
|
||||
" FROM\n" +
|
||||
" (SELECT 0 AS a UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3\n" +
|
||||
" UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7\n" +
|
||||
" UNION ALL SELECT 8 UNION ALL SELECT 9) AS ones\n" +
|
||||
" CROSS JOIN\n" +
|
||||
" (SELECT 0 AS a UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3\n" +
|
||||
" UNION ALL SELECT 4 UNION ALL SELECT 5) AS tens\n" +
|
||||
" WHERE DATE_ADD("+startTime+", INTERVAL (ones.a + tens.a * 10) DAY) <= "+endTime;
|
||||
o.setSql(sql);
|
||||
List<SjMaxDevice> workerList = mapper.selectWorkerEcharts(o);
|
||||
result.put("workerEcharts", workerList);
|
||||
result.put("todayDutyRate", 0);
|
||||
|
|
@ -56,10 +46,10 @@ public class SjMaxDeviceServiceImpl implements SjMaxDeviceService{
|
|||
}
|
||||
}
|
||||
//整体人员利用率和设备使用率
|
||||
double totalActualCount = list.stream()
|
||||
double totalActualCount = workerList.stream()
|
||||
.mapToDouble(SjMaxDevice::getActualCount)
|
||||
.sum();
|
||||
double totalShouldCount = list.stream()
|
||||
double totalShouldCount = workerList.stream()
|
||||
.mapToDouble(SjMaxDevice::getShouldCount)
|
||||
.sum();
|
||||
double workerUtilization = 0;
|
||||
|
|
|
|||
|
|
@ -66,7 +66,18 @@ SELECT
|
|||
COALESCE(p_summary.planned_count, 0) AS planned_count,
|
||||
COALESCE(a_summary.actual_count, 0) AS actual_count
|
||||
FROM (
|
||||
#{sql}
|
||||
|
||||
SELECT DATE_ADD(#{startTime}, INTERVAL (ones.a + tens.a * 10) DAY) AS dt
|
||||
FROM
|
||||
(SELECT 0 AS a UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3
|
||||
UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7
|
||||
UNION ALL SELECT 8 UNION ALL SELECT 9) AS ones
|
||||
CROSS JOIN
|
||||
(SELECT 0 AS a UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3
|
||||
UNION ALL SELECT 4 UNION ALL SELECT 5) AS tens
|
||||
WHERE DATE_ADD(#{startTime}, INTERVAL (ones.a + tens.a * 10) DAY) <= #{endTime}
|
||||
|
||||
|
||||
) AS date_list
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
|
|
@ -74,7 +85,15 @@ SELECT
|
|||
p.pro_type,
|
||||
COUNT(p.id) AS planned_count
|
||||
FROM (
|
||||
#{sql}
|
||||
SELECT DATE_ADD(#{startTime}, INTERVAL (ones.a + tens.a * 10) DAY) AS dt
|
||||
FROM
|
||||
(SELECT 0 AS a UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3
|
||||
UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7
|
||||
UNION ALL SELECT 8 UNION ALL SELECT 9) AS ones
|
||||
CROSS JOIN
|
||||
(SELECT 0 AS a UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3
|
||||
UNION ALL SELECT 4 UNION ALL SELECT 5) AS tens
|
||||
WHERE DATE_ADD(#{startTime}, INTERVAL (ones.a + tens.a * 10) DAY) <= #{endTime}
|
||||
) AS dl_inner
|
||||
INNER JOIN sj_construction_progress p
|
||||
ON dl_inner.dt BETWEEN p.plan_start_time AND p.plan_end_time
|
||||
|
|
@ -86,7 +105,15 @@ SELECT
|
|||
a.pro_type,
|
||||
COUNT(a.id) AS actual_count
|
||||
FROM (
|
||||
#{sql}
|
||||
SELECT DATE_ADD(#{startTime}, INTERVAL (ones.a + tens.a * 10) DAY) AS dt
|
||||
FROM
|
||||
(SELECT 0 AS a UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3
|
||||
UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7
|
||||
UNION ALL SELECT 8 UNION ALL SELECT 9) AS ones
|
||||
CROSS JOIN
|
||||
(SELECT 0 AS a UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3
|
||||
UNION ALL SELECT 4 UNION ALL SELECT 5) AS tens
|
||||
WHERE DATE_ADD(#{startTime}, INTERVAL (ones.a + tens.a * 10) DAY) <= #{endTime}
|
||||
) AS dl_inner
|
||||
INNER JOIN sj_construction_progress a
|
||||
ON dl_inner.dt BETWEEN a.start_time AND a.end_time
|
||||
|
|
|
|||
|
|
@ -100,7 +100,15 @@
|
|||
(SELECT DISTINCT type FROM sj_energy_reduction WHERE type IS NOT NULL) t
|
||||
CROSS JOIN
|
||||
-- 生成日期序列
|
||||
( #{sql} ) AS date_list
|
||||
( SELECT DATE_ADD(#{startTime}, INTERVAL (ones.a + tens.a * 10) DAY) AS dt
|
||||
FROM
|
||||
(SELECT 0 AS a UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3
|
||||
UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7
|
||||
UNION ALL SELECT 8 UNION ALL SELECT 9) AS ones
|
||||
CROSS JOIN
|
||||
(SELECT 0 AS a UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3
|
||||
UNION ALL SELECT 4 UNION ALL SELECT 5) AS tens
|
||||
WHERE DATE_ADD(#{startTime}, INTERVAL (ones.a + tens.a * 10) DAY) <= #{endTime} ) AS date_list
|
||||
LEFT JOIN sj_energy_reduction e
|
||||
ON t.type = e.type
|
||||
AND date_list.dt = e.create_time
|
||||
|
|
|
|||
|
|
@ -25,19 +25,22 @@
|
|||
</sql>
|
||||
|
||||
<select id="selectDeviceEcharts" resultMap="BaseResultMap">
|
||||
SELECT dev_name,
|
||||
-- 入场天数:如果未出场,则算到今天
|
||||
sum(DATEDIFF(IF(out_time IS NOT NULL AND out_time < CURDATE(), out_time, CURDATE()), in_time) +
|
||||
1) AS ein_day,
|
||||
sum(used_day) AS used_day
|
||||
SELECT
|
||||
dev_name,
|
||||
-- 入场天数:如果未出场,则算到今天
|
||||
IFNULL(SUM(
|
||||
DATEDIFF(IF(out_time IS NOT NULL AND out_time < CURDATE(), out_time, CURDATE()), in_time) + 1
|
||||
), 0) AS ein_day,
|
||||
-- 使用天数:直接求和,NULL 显示为 0
|
||||
IFNULL(SUM(used_day), 0) AS used_day
|
||||
FROM sj_max_device
|
||||
WHERE
|
||||
-- 确保有入场时间
|
||||
in_time IS NOT NULL
|
||||
-- 入场时间不能在未来
|
||||
AND in_time <= CURDATE()
|
||||
-- 确保有入场时间
|
||||
in_time IS NOT NULL
|
||||
-- 入场时间不能在未来
|
||||
AND in_time <= CURDATE()
|
||||
GROUP BY dev_name
|
||||
ORDER BY ein_day DESC
|
||||
ORDER BY ein_day DESC;
|
||||
</select>
|
||||
|
||||
<select id="selectWorkerEcharts" resultMap="BaseResultMap">
|
||||
|
|
@ -46,7 +49,15 @@
|
|||
COALESCE(should.should_count, 0) AS should_count,
|
||||
COALESCE(actual.actual_count, 0) AS actual_count
|
||||
FROM (
|
||||
#{sql}
|
||||
SELECT DATE_ADD(#{startTime}, INTERVAL (ones.a + tens.a * 10) DAY) AS dt
|
||||
FROM
|
||||
(SELECT 0 AS a UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3
|
||||
UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7
|
||||
UNION ALL SELECT 8 UNION ALL SELECT 9) AS ones
|
||||
CROSS JOIN
|
||||
(SELECT 0 AS a UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3
|
||||
UNION ALL SELECT 4 UNION ALL SELECT 5) AS tens
|
||||
WHERE DATE_ADD(#{startTime}, INTERVAL (ones.a + tens.a * 10) DAY) <= #{endTime}
|
||||
) AS date_list
|
||||
-- 应到人数:每天 = 班组总人数(固定)
|
||||
CROSS JOIN (
|
||||
|
|
@ -90,7 +101,15 @@
|
|||
GROUP BY team_id
|
||||
) tp_count ON wt.id = tp_count.team_id
|
||||
CROSS JOIN (
|
||||
#{sql}
|
||||
SELECT DATE_ADD(#{startTime}, INTERVAL (ones.a + tens.a * 10) DAY) AS dt
|
||||
FROM
|
||||
(SELECT 0 AS a UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3
|
||||
UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7
|
||||
UNION ALL SELECT 8 UNION ALL SELECT 9) AS ones
|
||||
CROSS JOIN
|
||||
(SELECT 0 AS a UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3
|
||||
UNION ALL SELECT 4 UNION ALL SELECT 5) AS tens
|
||||
WHERE DATE_ADD(#{startTime}, INTERVAL (ones.a + tens.a * 10) DAY) <= #{endTime}
|
||||
) AS date_list
|
||||
-- 关联每天实到人数
|
||||
LEFT JOIN (
|
||||
|
|
|
|||
|
|
@ -34,10 +34,14 @@
|
|||
sum(accept_item) as accept_item,
|
||||
sum(accept_table) as accept_table,
|
||||
sum(accept_qualified_table) as accept_qualified_table,
|
||||
sum(accept_item)/sum(total_item) as accept_rate,
|
||||
sum(accept_qualified_table)/sum(accept_table) as accept_tb_rate,
|
||||
sum( main_one_accept_num)/sum(main_accept_num) as main_accept_rate,
|
||||
sum(comm_one_accept)/sum(comm_accept) as comm_accept_rate
|
||||
|
||||
ROUND(SUM(accept_item) * 100.0 / SUM(total_item), 1) AS accept_rate,
|
||||
|
||||
ROUND(SUM(accept_qualified_table) * 100.0 / SUM(accept_table), 1) AS accept_tb_rate,
|
||||
|
||||
ROUND(SUM(main_one_accept_num) * 100.0 / SUM(main_accept_num), 1) AS main_accept_rate,
|
||||
|
||||
ROUND(SUM(comm_one_accept) * 100.0 / SUM(comm_accept), 1) AS comm_accept_rate
|
||||
from sj_project_quality
|
||||
</select>
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue