添加看板api请求

master
zpl 3 years ago
parent 799ef314ca
commit 9c96620521

@ -204,7 +204,7 @@ public class BoardController {
}
/**
*
*
*/
@GetMapping("/completeDataFSW")
public R completeDataFSW(@RequestParam(required = false) Map paramMap) {
@ -218,7 +218,7 @@ public class BoardController {
}
/**
*
*
*/
@GetMapping("/planAndCompleteDataFSW")
public R planAndCompleteDataFSW(@RequestParam(required = false) Map paramMap) {
@ -231,5 +231,123 @@ public class BoardController {
}
}
/**
*
*/
@GetMapping("/resourceStatusQty")
public R resourceStatusQty(@RequestParam(required = false) Map paramMap) {
try {
paramMap.put("site", CommonMethods.getSite());
List<Map<String, Object>> result = boardMapper.resourceStatusQty(paramMap);
return R.ok(result);
} catch (Exception e) {
return R.failed(e.getMessage());
}
}
/**
*
*/
@GetMapping("/resourceAbnormalInfo")
public R resourceAbnormalInfo(@RequestParam(required = false) Map paramMap) {
try {
paramMap.put("site", CommonMethods.getSite());
List<Map<String, Object>> result = boardMapper.resourceAbnormalInfo(paramMap);
return R.ok(result);
} catch (Exception e) {
return R.failed(e.getMessage());
}
}
/**
*
*/
@GetMapping("/resourceFaultThree")
public R resourceFaultThree(@RequestParam(required = false) Map paramMap) {
try {
paramMap.put("site", CommonMethods.getSite());
List<Map<String, Object>> result = boardMapper.resourceFaultThree(paramMap);
return R.ok(result);
} catch (Exception e) {
return R.failed(e.getMessage());
}
}
/**
*
*/
@GetMapping("/completeRate")
public R completeRate(@RequestParam(required = false) Map paramMap) {
try {
paramMap.put("site", CommonMethods.getSite());
List<Map<String, Object>> result = boardMapper.completeRate(paramMap);
return R.ok(result);
} catch (Exception e) {
return R.failed(e.getMessage());
}
}
/**
*
*/
@GetMapping("/resourceRunQtyAll")
public R resourceRunQtyAll(@RequestParam(required = false) Map paramMap) {
try {
paramMap.put("site", CommonMethods.getSite());
List<Map<String, Object>> result = boardMapper.resourceRunQtyAll(paramMap);
return R.ok(result);
} catch (Exception e) {
return R.failed(e.getMessage());
}
}
/**
*
*/
@GetMapping("/resourceQtyRun")
public R resourceQtyRun(@RequestParam(required = false) Map paramMap) {
try {
paramMap.put("site", CommonMethods.getSite());
List<Map<String, Object>> result = boardMapper.resourceQtyRun(paramMap);
return R.ok(result);
} catch (Exception e) {
return R.failed(e.getMessage());
}
}
/**
*
*/
@GetMapping("/resourceQtyFree")
public R resourceQtyFree(@RequestParam(required = false) Map paramMap) {
try {
paramMap.put("site", CommonMethods.getSite());
List<Map<String, Object>> result = boardMapper.resourceQtyFree(paramMap);
return R.ok(result);
} catch (Exception e) {
return R.failed(e.getMessage());
}
}
/**
*
*/
@GetMapping("/resourceQtyDow")
public R resourceQtyDow(@RequestParam(required = false) Map paramMap) {
try {
paramMap.put("site", CommonMethods.getSite());
List<Map<String, Object>> result = boardMapper.resourceQtyDow(paramMap);
return R.ok(result);
} catch (Exception e) {
return R.failed(e.getMessage());
}
}
/**
*
*/
@GetMapping("/resourceQtyAll")
public R resourceQtyAll(@RequestParam(required = false) Map paramMap) {
try {
paramMap.put("site", CommonMethods.getSite());
List<Map<String, Object>> result = boardMapper.resourceQtyAll(paramMap);
return R.ok(result);
} catch (Exception e) {
return R.failed(e.getMessage());
}
}
}

@ -45,5 +45,21 @@ public interface BoardMapper {
// 焊接车间计划数、完成数
List<Map<String, Object>> planAndCompleteDataFSW(Map paramMap);
//综合看板
// 设备异常提报数
List<Map<String, Object>> resourceStatusQty(Map paramMap);
// 设备各异常处理状态
List<Map<String, Object>> resourceAbnormalInfo(Map paramMap);
// 设备故障前三
List<Map<String, Object>> resourceFaultThree(Map paramMap);
// 达成率
List<Map<String, Object>> completeRate(Map paramMap);
// 设备运行数
List<Map<String, Object>> resourceRunQtyAll(Map paramMap);
List<Map<String, Object>> resourceQtyRun(Map paramMap);
List<Map<String, Object>> resourceQtyFree(Map paramMap);
List<Map<String, Object>> resourceQtyDow(Map paramMap);
List<Map<String, Object>> resourceQtyAll(Map paramMap);
}

@ -16,11 +16,13 @@
<select id="resourceRunParamData" resultType="java.util.HashMap" parameterType="java.util.HashMap">
WITH TPARAM AS(
SELECT
ZRSR.RESRCE, R.DESCRIPTION RESOURCE_DESCRIPTION,
CF.VALUE, CF.VALUE || '/' || R.DESCRIPTION NAME,
ZRSR.RESRCE,
R.DESCRIPTION RESOURCE_DESCRIPTION,
CF.VALUE,
CF.VALUE || '/' || R.DESCRIPTION NAME,
CASE
WHEN ZRSR.STATUS = 'RUN' THEN '#7FB80E'
WHEN ZRSR.STATUS = 'DOW' THEN '#F5A15B'
WHEN ZRSR.STATUS = 'RUN' THEN '#7FB80E' --'#1afa29'
WHEN ZRSR.STATUS = 'DOW' THEN '#F5A15B' --'#EF4136'
ELSE '#dbdbdb'
END STATUS_COLOR,
CASE
@ -28,50 +30,106 @@
WHEN ZRSR.STATUS = 'DOW' THEN '停机'
ELSE '空闲'
END STATUS_NAME,
ZEDR.S1 FEED_RATE, ZEDR.S2 FEED_VALUE, ZEDR.S3 SPINDLE_LOAD, ZEDR.S4 SPINDLE_SPEED
ZEDR.S1 FEED_RATE,
ZEDR.S2 FEED_VALUE,
ZEDR.S3 SPINDLE_LOAD,
ZEDR.S4 SPINDLE_SPEED
FROM
Z_RESOURCE_STATUS_RECEIVE ZRSR
LEFT JOIN RESRCE R ON R.RESRCE = ZRSR.RESRCE AND R.SITE = '1000'
LEFT JOIN Z_EDC_DATA_RESOURCE ZEDR ON ZEDR.RESRCE = ZRSR.RESRCE
LEFT JOIN CUSTOM_FIELDS cf ON CF.HANDLE = R.HANDLE AND CF."ATTRIBUTE" = 'RESOURCE_LOCATION'
LEFT JOIN RESRCE R ON
R.RESRCE = ZRSR.RESRCE
AND R.SITE = '1000'
LEFT JOIN Z_EDC_DATA_RESOURCE ZEDR ON
ZEDR.RESRCE = ZRSR.RESRCE
LEFT JOIN CUSTOM_FIELDS cf ON
CF.HANDLE = R.HANDLE
AND CF."ATTRIBUTE" = 'RESOURCE_LOCATION'
),
TEMP AS(
SELECT
ZSD.RESRCE, ZSD.DISPATCH_STATUS, i.ITEM, it.DESCRIPTION, ZSD.ACTUAL_START_DATE,
ZSD.PROD_HOURS, ZSD.DISPATCH_QTY, ZSD.STEP_ID, ZSD.ACTUAL_PROD_HOURS
ZSD.RESRCE,
ZSD.DISPATCH_STATUS,
i.ITEM,
it.DESCRIPTION,
ZSD.ACTUAL_START_DATE,
ZSD.PROD_HOURS,
ZSD.DISPATCH_QTY,
ZSD.STEP_ID,
ZSD.ACTUAL_PROD_HOURS
FROM
Z_SFC_DISPATCH zsd
INNER JOIN Z_RESOURCE_STATUS_RECEIVE ZRSR ON ZRSR.RESRCE = ZSD.RESRCE
INNER JOIN SHOP_ORDER SO ON SO.SHOP_ORDER = ZSD.SHOP_ORDER
INNER JOIN ITEM i ON I.HANDLE = SO.ITEM_BO
INNER JOIN ITEM_T IT ON IT.ITEM_BO = I.HANDLE AND IT.LOCALE = 'zh'
WHERE ZSD.SITE = '1000' AND ZSD.DISPATCH_STATUS IN( 'COMPLETE', 'START' )
INNER JOIN Z_RESOURCE_STATUS_RECEIVE ZRSR ON
ZRSR.RESRCE = ZSD.RESRCE
INNER JOIN SHOP_ORDER SO ON
SO.SHOP_ORDER = ZSD.SHOP_ORDER
INNER JOIN ITEM i ON
I.HANDLE = SO.ITEM_BO
INNER JOIN ITEM_T IT ON
IT.ITEM_BO = I.HANDLE
AND IT.LOCALE = 'zh'
WHERE
ZSD.SITE = '1000'
AND ZSD.DISPATCH_STATUS IN(
'COMPLETE',
'START'
)
),
MN AS(
SELECT * FROM SELECT (
SELECT
*
FROM
(
SELECT
ROW_NUMBER() OVER(
PARTITION BY RESRCE
ORDER BY
DISPATCH_STATUS DESC, ACTUAL_START_DATE DESC, STEP_ID DESC
DISPATCH_STATUS DESC,
ACTUAL_START_DATE DESC,
STEP_ID DESC
) rn,
RESRCE, DISPATCH_STATUS, ITEM, DESCRIPTION, DISPATCH_QTY, PROD_HOURS, ACTUAL_START_DATE, STEP_ID, ACTUAL_PROD_HOURS,
RESRCE,
DISPATCH_STATUS,
ITEM,
DESCRIPTION,
DISPATCH_QTY,
PROD_HOURS,
ACTUAL_START_DATE,
STEP_ID,
ACTUAL_PROD_HOURS,
CASE
WHEN DISPATCH_STATUS = 'START' THEN( SYSDATE -( ACTUAL_START_DATE + 8 / 24 ) )* 24
WHEN DISPATCH_STATUS = 'START' THEN(
SYSDATE -(
ACTUAL_START_DATE + 8 / 24
)
)* 24
ELSE NVL( 10000, ACTUAL_PROD_HOURS )
END WORK_HOUR
FROM
TEMP
)
WHERE rn = 1
WHERE
rn = 1
) SELECT
A.*, B.ITEM, B.DESCRIPTION ITEM_DESCRIPTION, B.DISPATCH_QTY,
CASE WHEN B.PROD_HOURS > B.WORK_HOUR THEN ROUND( WORK_HOUR / PROD_HOURS, 2 )
ELSE( CASE WHEN B.DISPATCH_STATUS = 'START' THEN 90 ELSE 100 END )
A.*,
B.ITEM,
B.DESCRIPTION ITEM_DESCRIPTION,
B.DISPATCH_QTY,
CASE
WHEN B.PROD_HOURS > B.WORK_HOUR THEN ROUND( WORK_HOUR / PROD_HOURS, 2 )
ELSE(
CASE
WHEN B.DISPATCH_STATUS = 'START' THEN 90
ELSE 100
END
)
END PROGRESS
FROM TPARAM A
LEFT JOIN MN B ON B.RESRCE = A.RESRCE
ORDER BY A.VALUE, B.ITEM
FROM
TPARAM A
LEFT JOIN MN B ON
B.RESRCE = A.RESRCE
ORDER BY
A.VALUE,
B.ITEM
</select>
<select id="resourceFaultDescription" resultType="java.util.HashMap" parameterType="java.util.HashMap">
@ -127,7 +185,9 @@
<!--合格率-->
<select id="percentOfPass" resultType="java.util.HashMap" parameterType="java.util.HashMap">
SELECT 10 "min", 100 "max", ROUND(SUM(CASE WHEN RESULT = 'OK' THEN QTY ELSE 0 END)/SUM(QTY)*100,2) "value", '%' "unit"
SELECT 10 "min", 100 "max",
CASE WHEN SUM(QTY) = 0 THEN 0
ELSE NVL(ROUND(SUM(CASE WHEN RESULT = 'OK' THEN QTY ELSE 0 END)/SUM(QTY)*100,2),0) END "value", '%' "unit"
FROM (
SELECT ZT.SITE, ZT.SFC, ZT.RESULT, SC.QTY, RANK() OVER(PARTITION BY ZT.SITE, ZT.SFC ORDER BY ZT.CREATED_DATE_TIME DESC) AS ROW_ID
FROM Z_INSPECTION_TASK ZT
@ -135,7 +195,7 @@
WHERE ZT.SITE = #{site} AND ZT.CATEGORY = 'P' AND STATUS = 'COMPLETE'
AND TO_CHAR(ZT.CREATED_DATE_TIME + 8/24,'YYYY-MM') = TO_CHAR(SYSDATE,'YYYY-MM')
<if test="workCenter != null and workCenter != ''">
AND ZSD.WORK_CENTER = #{workCenter}
AND ZT.WORK_CENTER = #{workCenter}
</if>
) WHERE ROW_ID = 1
GROUP BY SITE
@ -181,7 +241,7 @@
INNER JOIN SFC SC ON ZT.SITE = SC.SITE AND SC.SFC = ZT.SFC
WHERE ZT.SITE = #{site} AND ZT.CATEGORY = 'P' AND ZT.STATUS = 'COMPLETE'
<if test="workCenter != null and workCenter != ''">
AND ZSD.WORK_CENTER = #{workCenter}
AND ZT.WORK_CENTER = #{workCenter}
</if>
) WHERE SEQ = 1
GROUP BY TASK_MONTH
@ -191,10 +251,6 @@
<!--完工进度-->
<select id="scheduleOfCompletion" resultType="java.util.HashMap" parameterType="java.util.HashMap">
SELECT K.* ,
CASE WHEN K.RATE_NUM = 0 THEN (K.RATE_NUM + 67) || '%'
ELSE K.RATE_NUM || '%' END COMP_RATE
FROM (
SELECT
T.ITEM_NUMBER,
T.ITEM_DESC,
@ -202,9 +258,9 @@
T.PLANNED_COMP_DATE,
T.PLANNED_START_DATE,
CASE
WHEN SUM( T.CNT_HOURS)= 0 THEN 0
ELSE ROUND( SUM( T.CNT_HOURS)/ SUM( T.PROD_HOURS),2)* 100
END RATE_NUM
WHEN SUM( T.CNT_HOURS )= 0 THEN '0%'
ELSE ROUND( SUM( T.CNT_HOURS )/ SUM( T.PROD_HOURS ), 2 )* 100 || '%'
END COMP_RATE
FROM
(
SELECT
@ -239,15 +295,17 @@
SO.HANDLE = CF1.HANDLE
AND CF1.ATTRIBUTE = 'FACTORY'
WHERE
ZSD.SITE = #{site} AND CF1.VALUE = '6106'
AND ZSD.DISPATCH_STATUS != 'CANCEL' AND TO_CHAR( SO.PLANNED_COMP_DATE + 8 / 24,'YYYY-MM')= TO_CHAR( SYSDATE,'YYYY-MM')
ZSD.SITE = '1000'
AND CF1.VALUE = '6106'
<if test="workCenter != null and workCenter != ''">
AND ZSD.WORK_CENTER = #{workCenter}
</if>
AND ZSD.DISPATCH_STATUS != 'CANCEL'
AND TO_CHAR( SO.PLANNED_COMP_DATE + 8 / 24, 'YYYY-MM' )= TO_CHAR( SYSDATE, 'YYYY-MM' )
ORDER BY
ZSD.SHOP_ORDER,
ZSD.SFC
)T
) T
GROUP BY
T.ITEM_NUMBER,
T.ITEM_DESC,
@ -256,26 +314,25 @@
T.PLANNED_START_DATE
ORDER BY
T.PLANNED_COMP_DATE
) K
</select>
<!--异常待解决\异常已解决\异常正在处理-->
<select id="abnormalUnResolve" resultType="java.util.HashMap" parameterType="java.util.HashMap">
<select id="abnormalResolveData" resultType="java.util.HashMap" parameterType="java.util.HashMap">
SELECT COUNT(1) "value" FROM Z_ABNORMAL_BILL ZB
WHERE SITE = #{site} AND TO_CHAR(ZB.CREATED_DATE_TIME + 8/24,'YYYY-MM') = TO_CHAR(SYSDATE,'YYYY-MM')
<if test="workCenter != null and workCenter != ''">
AND ZSD.WORK_CENTER = #{workCenter}
AND ZB.WORK_CENTER = #{workCenter}
</if>
<if test="status != null and status != ''">
<choose>
<when test="status.contains('unResolve')">
AND STATUS = 'N'
AND ZB.STATUS = 'N'
</when>
<when test="status.contains('resolve')">
AND STATUS = 'G'
AND ZB.STATUS = 'G'
</when>
<when test="status.contains('dealing')">
AND STATUS NOT IN ('N', 'G', 'Q')
AND ZB.STATUS NOT IN ('N', 'G', 'Q')
</when>
</choose>
</if>
@ -290,13 +347,13 @@
WHERE ZB.SITE = '1000' AND ZB.STATUS = 'N'
AND TO_CHAR(ZB.CREATED_DATE_TIME + 8/24, 'YYYY-MM') = TO_CHAR(SYSDATE, 'YYYY-MM')
<if test="workCenter != null and workCenter != ''">
AND ZSD.WORK_CENTER = #{workCenter}
AND ZB.WORK_CENTER = #{workCenter}
</if>
ORDER BY ZB.CREATED_DATE_TIME DESC
) WHERE ROWNUM &lt;= 30
</select>
<!--焊接车间-->
<!--焊接车间计划数-->
<select id="planDataFSW" resultType="java.util.HashMap" parameterType="java.util.HashMap">
SELECT SUM(ZSD.DISPATCH_QTY) "value" FROM Z_SFC_DISPATCH zsd
INNER JOIN OPERATION O ON O.OPERATION = ZSD.OPERATION
@ -312,6 +369,7 @@
</otherwise>
</choose>
</select>
<!--焊接车间完成数-->
<select id="completeDataFSW" resultType="java.util.HashMap" parameterType="java.util.HashMap">
SELECT SUM(ZSD.DISPATCH_QTY) "value" FROM Z_SFC_DISPATCH zsd
INNER JOIN OPERATION O ON O.OPERATION = ZSD.OPERATION
@ -331,7 +389,7 @@
SELECT SHOP_ORDER FROM SHOP_ORDER SO WHERE TO_CHAR(SO.PLANNED_COMP_DATE + 8/24 , 'YYYY-MM') = TO_CHAR(SYSDATE,'YYYY-MM')
)
</select>
<!--计划数、完成数-->
<!--焊接车间计划数、完成数-->
<select id="planAndCompleteDataFSW" resultType="java.util.HashMap" parameterType="java.util.HashMap">
SELECT A.CNT QTY_PLAN , B.CNT QTY_DONE , A.CNT - B.CNT QTY_HAND FROM
(
@ -367,4 +425,140 @@
SELECT SHOP_ORDER FROM SHOP_ORDER SO WHERE TO_CHAR(SO.PLANNED_COMP_DATE + 8/24 , 'YYYY-MM') = TO_CHAR(SYSDATE,'YYYY-MM') ) ) B
</select>
<!--综合看板-->
<!--设备不同状态数-->
<select id="resourceStatusQty" resultType="java.util.HashMap" parameterType="java.util.HashMap">
SELECT SUM(CASE WHEN "TYPE" = 'Z' THEN 1 ELSE 0 END) Z_QTY,
SUM(CASE WHEN "TYPE" = 'S' THEN 1 ELSE 0 END) S_QTY,
SUM(CASE WHEN "TYPE" = 'Q' THEN 1 ELSE 0 END) Q_QTY
FROM Z_ABNORMAL_BILL ZB
WHERE SITE = '1000' AND TO_CHAR(ZB.CREATED_DATE_TIME,'YYYY-MM') = TO_CHAR(SYSDATE,'YYYY-MM')
GROUP BY TO_CHAR(ZB.CREATED_DATE_TIME,'YYYY-MM')
</select>
<!--设备各异常处理状态-->
<select id="resourceAbnormalInfo" resultType="java.util.HashMap" parameterType="java.util.HashMap" >
SELECT TEMP.* , T.CNT FROM
(
SELECT '其他' TYPE_DESCRIPTION ,'Q' TYPE , 'N' STATUS , '待解决' STATUS_DESCRIPTION FROM DUAL
UNION
SELECT '其他' TYPE_DESCRIPTION ,'Q' TYPE , 'X' , '正在处理' FROM DUAL
UNION
SELECT '其他' TYPE_DESCRIPTION ,'Q' TYPE , 'SUCCESS' , '已解决' STATUS FROM DUAL
UNION
SELECT '质量', 'Z', 'N', '待解决' FROM DUAL
UNION
SELECT '质量', 'Z', 'X', '正在处理' FROM DUAL
UNION
SELECT '质量', 'Z', 'SUCCESS', '已解决' FROM DUAL
UNION
SELECT '设备', 'S', 'N' , '待解决' FROM DUAL
UNION
SELECT '设备', 'S', 'X' , '正在处理' FROM DUAL
UNION
SELECT '设备', 'S', 'SUCCESS', '已解决' FROM DUAL ) TEMP
LEFT JOIN
(SELECT ZAB."TYPE" , ZAB.STATUS , COUNT(*) CNT
FROM Z_ABNORMAL_BILL zab WHERE STATUS IN ('N','X') AND TO_CHAR(ZAB.CREATED_DATE_TIME,'YYYY-MM') = TO_CHAR(SYSDATE,'YYYY-MM') GROUP BY ZAB."TYPE" ,ZAB.STATUS ,TO_CHAR(ZAB.CREATED_DATE_TIME,'YYYY-MM')
UNION
SELECT ZAB."TYPE" , 'SUCCESS' STATUS , COUNT(*) CNT
FROM Z_ABNORMAL_BILL zab WHERE STATUS NOT IN ('N','X') AND TO_CHAR(ZAB.CREATED_DATE_TIME,'YYYY-MM') = TO_CHAR(SYSDATE,'YYYY-MM') GROUP BY ZAB."TYPE" ,TO_CHAR(ZAB.CREATED_DATE_TIME,'YYYY-MM') ) T
ON T.TYPE = TEMP.TYPE AND T.STATUS = TEMP.STATUS
ORDER BY TEMP.TYPE DESC,TEMP.STATUS DESC
</select>
<!--设备故障前三-->
<select id="resourceFaultThree" resultType="java.util.HashMap" parameterType="java.util.HashMap">
SELECT DESCRIPTION, QTY
FROM (
SELECT SUBSTR(NT.DESCRIPTION, 0, 4) DESCRIPTION, SUM(1) QTY
FROM Z_ABNORMAL_BILL A
INNER JOIN Z_ABNORMAL_NC_CODE B ON B.ABNORMAL_BILL_BO = A.HANDLE
INNER JOIN NC_CODE NC ON NC.SITE = B.SITE AND NC.NC_CODE = B.NC_CODE
INNER JOIN NC_CODE_T NT ON NT.NC_CODE_BO = NC.HANDLE
WHERE A.TYPE = 'S' AND A.SITE = '1000' AND TO_CHAR(A.CREATED_DATE_TIME,'YYYY-MM') = TO_CHAR(SYSDATE,'YYYY-MM')
GROUP BY SUBSTR(NT.DESCRIPTION, 0, 4)
ORDER BY SUM(1) DESC
) WHERE ROWNUM &lt;= 3
</select>
<!--达成率-->
<select id="completeRate" resultType="java.util.HashMap" parameterType="java.util.HashMap">
SELECT 0 "min", 100 "max", '名称' "label", T.RATE "value",
'%' "unit"
FROM DUAL , (SELECT ROUND( SUM(SO.QTY_DONE) / SUM(SO.QTY_TO_BUILD) , 4 ) * 100 RATE
FROM SHOP_ORDER SO
LEFT JOIN CUSTOM_FIELDS CF ON CF.HANDLE = SO.HANDLE AND CF.ATTRIBUTE = 'FACTORY'
WHERE SITE = '1000' --AND CF.VALUE = '6106'
AND TO_CHAR(SO.PLANNED_COMP_DATE,'YYYY-MM') = TO_CHAR(SYSDATE,'YYYY-MM')
GROUP BY TO_CHAR(PLANNED_COMP_DATE,'YYYY-MM') ) T
</select>
<!--设备运行数-->
<!--设备运行状态数-->
<select id="resourceRunQtyAll" resultType="java.util.HashMap" parameterType="java.util.HashMap">
SELECT X.CNT RUN , Y.CNT IDLE ,Z.CNT "STOP" FROM
(SELECT COUNT(RESRCE) CNT
FROM RESRCE r
WHERE R.STATUS_BO = 'StatusBO:1000,301' AND R.SITE = '1000'
AND R.RESRCE NOT IN (SELECT RESRCE FROM Z_RESOURCE_STATUS_RECEIVE zrsr WHERE ZRSR.STATUS != 'RUN')) X ,
(SELECT M.CNT + N.CNT CNT FROM
(SELECT COUNT(RESRCE) CNT FROM Z_RESOURCE_STATUS_RECEIVE zrsr WHERE ZRSR.STATUS = 'FREE') M,
(
SELECT COUNT(RESRCE) CNT FROM RESRCE r
WHERE R.STATUS_BO = 'StatusBO:1000,4' AND R.SITE = '1000'
AND R.RESRCE NOT IN (SELECT RESRCE FROM Z_RESOURCE_STATUS_RECEIVE zrsr WHERE ZRSR.STATUS = 'FREE')
) N ) Y ,
(SELECT M.CNT + N.CNT CNT FROM
(SELECT COUNT(RESRCE) CNT FROM Z_RESOURCE_STATUS_RECEIVE zrsr WHERE ZRSR.STATUS IN ('DOW','WARN')) M,
(
SELECT COUNT(RESRCE) CNT FROM RESRCE r
WHERE R.STATUS_BO = 'StatusBO:1000,5' AND R.SITE = '1000'
AND R.RESRCE NOT IN (SELECT RESRCE FROM Z_RESOURCE_STATUS_RECEIVE zrsr WHERE ZRSR.STATUS IN ('DOW' ,'WARN'))
) N ) Z
</select>
<!---->
<select id="resourceQtyRun" resultType="java.util.HashMap" parameterType="java.util.HashMap">
SELECT COUNT(RESRCE) "value"
FROM RESRCE r
WHERE R.STATUS_BO = 'StatusBO:1000,301' AND R.SITE = '1000'
AND R.RESRCE NOT IN (SELECT RESRCE FROM Z_RESOURCE_STATUS_RECEIVE zrsr WHERE ZRSR.STATUS != 'RUN')
</select>
<select id="resourceQtyFree" resultType="java.util.HashMap" parameterType="java.util.HashMap">
SELECT M.CNT + N.CNT "value" FROM
(SELECT COUNT(RESRCE) CNT FROM Z_RESOURCE_STATUS_RECEIVE zrsr WHERE ZRSR.STATUS = 'FREE') M,
(
SELECT COUNT(RESRCE) CNT FROM RESRCE r
WHERE R.STATUS_BO = 'StatusBO:1000,4' AND R.SITE = '1000'
AND R.RESRCE NOT IN (SELECT RESRCE FROM Z_RESOURCE_STATUS_RECEIVE zrsr WHERE ZRSR.STATUS = 'FREE')
) N
</select>
<select id="resourceQtyDow" resultType="java.util.HashMap" parameterType="java.util.HashMap">
SELECT M.CNT + N.CNT "value" FROM
(SELECT COUNT(RESRCE) CNT FROM Z_RESOURCE_STATUS_RECEIVE zrsr WHERE ZRSR.STATUS IN ('DOW','WARN')) M,
(
SELECT COUNT(RESRCE) CNT FROM RESRCE r
WHERE R.STATUS_BO = 'StatusBO:1000,5' AND R.SITE = '1000'
AND R.RESRCE NOT IN (SELECT RESRCE FROM Z_RESOURCE_STATUS_RECEIVE zrsr WHERE ZRSR.STATUS IN ('DOW' ,'WARN'))
) N
</select>
<!--设备运行状态数-->
<select id="resourceQtyAll" resultType="java.util.HashMap" parameterType="java.util.HashMap">
WITH TEMPA AS (
SELECT COUNT(*) CNT FROM (SELECT DISTINCT ZSD.RESRCE FROM Z_SFC_DISPATCH ZSD
WHERE ZSD.DISPATCH_STATUS IN ('COMPLETE','CANCEL','START')
AND TO_CHAR(ZSD.ACTUAL_START_DATE, 'YYYY-MM-DD') = TO_CHAR(SYSDATE-1 ,'YYYY-MM-DD')
AND ZSD.RESRCE NOT IN (SELECT RESRCE FROM Z_RESOURCE_STATUS_RECEIVE WHERE STATUS = 'RUN'))
) ,
TEMPB AS (SELECT
MAX(CASE WHEN STATUS = 'RUN' THEN QTY ELSE 0 END)RUN,
MAX(CASE WHEN STATUS = 'DOW' THEN QTY ELSE 0 END)"STOP",
MAX(CASE WHEN STATUS = 'WARN' THEN QTY ELSE 0 END)IDLE,
MAX(CASE WHEN STATUS = 'FREE' THEN QTY ELSE 0 END)IDLEA
FROM
( SELECT "STATUS", COUNT(1)QTY FROM Z_RESOURCE_STATUS_RECEIVE GROUP BY "STATUS" ))
SELECT TEMPA.CNT + TEMPB.RUN RUN , TEMPB.STOP STOP , TEMPB.IDLE + TEMPB.IDLEA IDLE
FROM TEMPA, TEMPB
</select>
</mapper>
Loading…
Cancel
Save