添加看板api请求

master
zpl 3 years ago
parent 799ef314ca
commit 9c96620521

@ -204,7 +204,7 @@ public class BoardController {
} }
/** /**
* *
*/ */
@GetMapping("/completeDataFSW") @GetMapping("/completeDataFSW")
public R completeDataFSW(@RequestParam(required = false) Map paramMap) { public R completeDataFSW(@RequestParam(required = false) Map paramMap) {
@ -218,7 +218,7 @@ public class BoardController {
} }
/** /**
* *
*/ */
@GetMapping("/planAndCompleteDataFSW") @GetMapping("/planAndCompleteDataFSW")
public R planAndCompleteDataFSW(@RequestParam(required = false) Map paramMap) { 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>> 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"> <select id="resourceRunParamData" resultType="java.util.HashMap" parameterType="java.util.HashMap">
WITH TPARAM AS( WITH TPARAM AS(
SELECT SELECT
ZRSR.RESRCE, R.DESCRIPTION RESOURCE_DESCRIPTION, ZRSR.RESRCE,
CF.VALUE, CF.VALUE || '/' || R.DESCRIPTION NAME, R.DESCRIPTION RESOURCE_DESCRIPTION,
CF.VALUE,
CF.VALUE || '/' || R.DESCRIPTION NAME,
CASE CASE
WHEN ZRSR.STATUS = 'RUN' THEN '#7FB80E' WHEN ZRSR.STATUS = 'RUN' THEN '#7FB80E' --'#1afa29'
WHEN ZRSR.STATUS = 'DOW' THEN '#F5A15B' WHEN ZRSR.STATUS = 'DOW' THEN '#F5A15B' --'#EF4136'
ELSE '#dbdbdb' ELSE '#dbdbdb'
END STATUS_COLOR, END STATUS_COLOR,
CASE CASE
@ -28,50 +30,106 @@
WHEN ZRSR.STATUS = 'DOW' THEN '停机' WHEN ZRSR.STATUS = 'DOW' THEN '停机'
ELSE '空闲' ELSE '空闲'
END STATUS_NAME, 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 FROM
Z_RESOURCE_STATUS_RECEIVE ZRSR Z_RESOURCE_STATUS_RECEIVE ZRSR
LEFT JOIN RESRCE R ON R.RESRCE = ZRSR.RESRCE AND R.SITE = '1000' LEFT JOIN RESRCE R ON
LEFT JOIN Z_EDC_DATA_RESOURCE ZEDR ON ZEDR.RESRCE = ZRSR.RESRCE R.RESRCE = ZRSR.RESRCE
LEFT JOIN CUSTOM_FIELDS cf ON CF.HANDLE = R.HANDLE AND CF."ATTRIBUTE" = 'RESOURCE_LOCATION' 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( TEMP AS(
SELECT SELECT
ZSD.RESRCE, ZSD.DISPATCH_STATUS, i.ITEM, it.DESCRIPTION, ZSD.ACTUAL_START_DATE, ZSD.RESRCE,
ZSD.PROD_HOURS, ZSD.DISPATCH_QTY, ZSD.STEP_ID, ZSD.ACTUAL_PROD_HOURS 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 FROM
Z_SFC_DISPATCH zsd Z_SFC_DISPATCH zsd
INNER JOIN Z_RESOURCE_STATUS_RECEIVE ZRSR ON ZRSR.RESRCE = ZSD.RESRCE INNER JOIN Z_RESOURCE_STATUS_RECEIVE ZRSR ON
INNER JOIN SHOP_ORDER SO ON SO.SHOP_ORDER = ZSD.SHOP_ORDER ZRSR.RESRCE = ZSD.RESRCE
INNER JOIN ITEM i ON I.HANDLE = SO.ITEM_BO INNER JOIN SHOP_ORDER SO ON
INNER JOIN ITEM_T IT ON IT.ITEM_BO = I.HANDLE AND IT.LOCALE = 'zh' SO.SHOP_ORDER = ZSD.SHOP_ORDER
WHERE ZSD.SITE = '1000' AND ZSD.DISPATCH_STATUS IN( 'COMPLETE', 'START' ) 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( MN AS(
SELECT * FROM SELECT ( SELECT
*
FROM
(
SELECT SELECT
ROW_NUMBER() OVER( ROW_NUMBER() OVER(
PARTITION BY RESRCE PARTITION BY RESRCE
ORDER BY ORDER BY
DISPATCH_STATUS DESC, ACTUAL_START_DATE DESC, STEP_ID DESC DISPATCH_STATUS DESC,
ACTUAL_START_DATE DESC,
STEP_ID DESC
) rn, ) 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 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 ) ELSE NVL( 10000, ACTUAL_PROD_HOURS )
END WORK_HOUR END WORK_HOUR
FROM FROM
TEMP TEMP
) )
WHERE rn = 1 WHERE
rn = 1
) SELECT ) SELECT
A.*, B.ITEM, B.DESCRIPTION ITEM_DESCRIPTION, B.DISPATCH_QTY, A.*,
CASE WHEN B.PROD_HOURS > B.WORK_HOUR THEN ROUND( WORK_HOUR / PROD_HOURS, 2 ) B.ITEM,
ELSE( CASE WHEN B.DISPATCH_STATUS = 'START' THEN 90 ELSE 100 END ) 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 END PROGRESS
FROM TPARAM A FROM
LEFT JOIN MN B ON B.RESRCE = A.RESRCE TPARAM A
ORDER BY A.VALUE, B.ITEM LEFT JOIN MN B ON
B.RESRCE = A.RESRCE
ORDER BY
A.VALUE,
B.ITEM
</select> </select>
<select id="resourceFaultDescription" resultType="java.util.HashMap" parameterType="java.util.HashMap"> <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 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 ( 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 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 FROM Z_INSPECTION_TASK ZT
@ -135,7 +195,7 @@
WHERE ZT.SITE = #{site} AND ZT.CATEGORY = 'P' AND STATUS = 'COMPLETE' 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') AND TO_CHAR(ZT.CREATED_DATE_TIME + 8/24,'YYYY-MM') = TO_CHAR(SYSDATE,'YYYY-MM')
<if test="workCenter != null and workCenter != ''"> <if test="workCenter != null and workCenter != ''">
AND ZSD.WORK_CENTER = #{workCenter} AND ZT.WORK_CENTER = #{workCenter}
</if> </if>
) WHERE ROW_ID = 1 ) WHERE ROW_ID = 1
GROUP BY SITE GROUP BY SITE
@ -181,7 +241,7 @@
INNER JOIN SFC SC ON ZT.SITE = SC.SITE AND SC.SFC = ZT.SFC 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' WHERE ZT.SITE = #{site} AND ZT.CATEGORY = 'P' AND ZT.STATUS = 'COMPLETE'
<if test="workCenter != null and workCenter != ''"> <if test="workCenter != null and workCenter != ''">
AND ZSD.WORK_CENTER = #{workCenter} AND ZT.WORK_CENTER = #{workCenter}
</if> </if>
) WHERE SEQ = 1 ) WHERE SEQ = 1
GROUP BY TASK_MONTH GROUP BY TASK_MONTH
@ -191,10 +251,6 @@
<!--完工进度--> <!--完工进度-->
<select id="scheduleOfCompletion" resultType="java.util.HashMap" parameterType="java.util.HashMap"> <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 SELECT
T.ITEM_NUMBER, T.ITEM_NUMBER,
T.ITEM_DESC, T.ITEM_DESC,
@ -202,9 +258,9 @@
T.PLANNED_COMP_DATE, T.PLANNED_COMP_DATE,
T.PLANNED_START_DATE, T.PLANNED_START_DATE,
CASE CASE
WHEN SUM( T.CNT_HOURS)= 0 THEN 0 WHEN SUM( T.CNT_HOURS )= 0 THEN '0%'
ELSE ROUND( SUM( T.CNT_HOURS)/ SUM( T.PROD_HOURS),2)* 100 ELSE ROUND( SUM( T.CNT_HOURS )/ SUM( T.PROD_HOURS ), 2 )* 100 || '%'
END RATE_NUM END COMP_RATE
FROM FROM
( (
SELECT SELECT
@ -239,15 +295,17 @@
SO.HANDLE = CF1.HANDLE SO.HANDLE = CF1.HANDLE
AND CF1.ATTRIBUTE = 'FACTORY' AND CF1.ATTRIBUTE = 'FACTORY'
WHERE WHERE
ZSD.SITE = #{site} AND CF1.VALUE = '6106' ZSD.SITE = '1000'
AND ZSD.DISPATCH_STATUS != 'CANCEL' AND TO_CHAR( SO.PLANNED_COMP_DATE + 8 / 24,'YYYY-MM')= TO_CHAR( SYSDATE,'YYYY-MM') AND CF1.VALUE = '6106'
<if test="workCenter != null and workCenter != ''"> <if test="workCenter != null and workCenter != ''">
AND ZSD.WORK_CENTER = #{workCenter} AND ZSD.WORK_CENTER = #{workCenter}
</if> </if>
AND ZSD.DISPATCH_STATUS != 'CANCEL'
AND TO_CHAR( SO.PLANNED_COMP_DATE + 8 / 24, 'YYYY-MM' )= TO_CHAR( SYSDATE, 'YYYY-MM' )
ORDER BY ORDER BY
ZSD.SHOP_ORDER, ZSD.SHOP_ORDER,
ZSD.SFC ZSD.SFC
)T ) T
GROUP BY GROUP BY
T.ITEM_NUMBER, T.ITEM_NUMBER,
T.ITEM_DESC, T.ITEM_DESC,
@ -256,26 +314,25 @@
T.PLANNED_START_DATE T.PLANNED_START_DATE
ORDER BY ORDER BY
T.PLANNED_COMP_DATE T.PLANNED_COMP_DATE
) K
</select> </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 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') 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 != ''"> <if test="workCenter != null and workCenter != ''">
AND ZSD.WORK_CENTER = #{workCenter} AND ZB.WORK_CENTER = #{workCenter}
</if> </if>
<if test="status != null and status != ''"> <if test="status != null and status != ''">
<choose> <choose>
<when test="status.contains('unResolve')"> <when test="status.contains('unResolve')">
AND STATUS = 'N' AND ZB.STATUS = 'N'
</when> </when>
<when test="status.contains('resolve')"> <when test="status.contains('resolve')">
AND STATUS = 'G' AND ZB.STATUS = 'G'
</when> </when>
<when test="status.contains('dealing')"> <when test="status.contains('dealing')">
AND STATUS NOT IN ('N', 'G', 'Q') AND ZB.STATUS NOT IN ('N', 'G', 'Q')
</when> </when>
</choose> </choose>
</if> </if>
@ -290,13 +347,13 @@
WHERE ZB.SITE = '1000' AND ZB.STATUS = 'N' WHERE ZB.SITE = '1000' AND ZB.STATUS = 'N'
AND TO_CHAR(ZB.CREATED_DATE_TIME + 8/24, 'YYYY-MM') = TO_CHAR(SYSDATE, 'YYYY-MM') AND TO_CHAR(ZB.CREATED_DATE_TIME + 8/24, 'YYYY-MM') = TO_CHAR(SYSDATE, 'YYYY-MM')
<if test="workCenter != null and workCenter != ''"> <if test="workCenter != null and workCenter != ''">
AND ZSD.WORK_CENTER = #{workCenter} AND ZB.WORK_CENTER = #{workCenter}
</if> </if>
ORDER BY ZB.CREATED_DATE_TIME DESC ORDER BY ZB.CREATED_DATE_TIME DESC
) WHERE ROWNUM &lt;= 30 ) WHERE ROWNUM &lt;= 30
</select> </select>
<!--焊接车间--> <!--焊接车间计划数-->
<select id="planDataFSW" resultType="java.util.HashMap" parameterType="java.util.HashMap"> <select id="planDataFSW" resultType="java.util.HashMap" parameterType="java.util.HashMap">
SELECT SUM(ZSD.DISPATCH_QTY) "value" FROM Z_SFC_DISPATCH zsd SELECT SUM(ZSD.DISPATCH_QTY) "value" FROM Z_SFC_DISPATCH zsd
INNER JOIN OPERATION O ON O.OPERATION = ZSD.OPERATION INNER JOIN OPERATION O ON O.OPERATION = ZSD.OPERATION
@ -312,6 +369,7 @@
</otherwise> </otherwise>
</choose> </choose>
</select> </select>
<!--焊接车间完成数-->
<select id="completeDataFSW" resultType="java.util.HashMap" parameterType="java.util.HashMap"> <select id="completeDataFSW" resultType="java.util.HashMap" parameterType="java.util.HashMap">
SELECT SUM(ZSD.DISPATCH_QTY) "value" FROM Z_SFC_DISPATCH zsd SELECT SUM(ZSD.DISPATCH_QTY) "value" FROM Z_SFC_DISPATCH zsd
INNER JOIN OPERATION O ON O.OPERATION = ZSD.OPERATION 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 SHOP_ORDER FROM SHOP_ORDER SO WHERE TO_CHAR(SO.PLANNED_COMP_DATE + 8/24 , 'YYYY-MM') = TO_CHAR(SYSDATE,'YYYY-MM')
) )
</select> </select>
<!--计划数、完成数--> <!--焊接车间计划数、完成数-->
<select id="planAndCompleteDataFSW" resultType="java.util.HashMap" parameterType="java.util.HashMap"> <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 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 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>
<!--综合看板-->
<!--设备不同状态数-->
<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> </mapper>
Loading…
Cancel
Save