diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/controller/ReportController.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/controller/ReportController.java index a08e8ca9..c78821dd 100644 --- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/controller/ReportController.java +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/controller/ReportController.java @@ -287,6 +287,19 @@ public class ReportController { } } + /** + * 资源负荷率报表(月维度) + * @param paramMap + * @return + */ + @GetMapping("/monthLoadRateReport") + public R monthLoadRateReport(@RequestParam(required = false) Map paramMap){ + try{ + return R.ok(reportService.monthLoadRateReport(paramMap)); + }catch (Exception e){ + return R.failed(e.getMessage()); + } + } } diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/mapper/ReportMapper.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/mapper/ReportMapper.java index 5573efe1..61939735 100644 --- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/mapper/ReportMapper.java +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/mapper/ReportMapper.java @@ -118,4 +118,11 @@ public interface ReportMapper { * @return */ List> weekLoadRateReport(Map paramMap); + + /** + * 资源负荷率报表(月维度) + * @param paramMap + * @return + */ + List> monthLoadRateReport(Map paramMap); } diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/ReportService.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/ReportService.java index 6bf248de..cd7a37e2 100644 --- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/ReportService.java +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/ReportService.java @@ -124,4 +124,11 @@ public interface ReportService { * @return */ List> weekLoadRateReport(Map paramMap); + + /** + * 资源负荷率报表(周维度) + * @param paramMap + * @return + */ + List> monthLoadRateReport(Map paramMap); } diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/ReportServiceImpl.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/ReportServiceImpl.java index 2d07ba4b..7ed67f5e 100644 --- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/ReportServiceImpl.java +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/ReportServiceImpl.java @@ -517,6 +517,21 @@ public class ReportServiceImpl implements ReportService { return reportMapper.weekLoadRateReport(paramMap); } + /** + * 资源负荷率报表(月维度) + * @param paramMap + * @return + */ + @Override + public List> monthLoadRateReport(Map paramMap) { + String site = CommonMethods.getSite(); + paramMap.put("site", site); + paramMap.put("locale", LocaleContextHolder.getLocale().getLanguage()); + if (StringUtils.isBlank((String) paramMap.get("month"))){ + paramMap.put("month",(Integer)paramMap.get("month")); + } + return reportMapper.monthLoadRateReport(paramMap); + } /** diff --git a/anomaly/src/main/resources/mapper/ReportMapper.xml b/anomaly/src/main/resources/mapper/ReportMapper.xml index 504e8ea0..61292008 100644 --- a/anomaly/src/main/resources/mapper/ReportMapper.xml +++ b/anomaly/src/main/resources/mapper/ReportMapper.xml @@ -1505,8 +1505,8 @@ TRUNC(TO_DATE(TO_CHAR(sysdate, 'yyyy-MM-dd'), 'yyyy-MM-dd'), 'IW') + 7 * 7 WEEK7, TRUNC(TO_DATE(TO_CHAR(sysdate, 'yyyy-MM-dd'), 'yyyy-MM-dd'), 'IW') + 7 * 8 WEEK8 FROM DUAL) - SELECT ZSD.OPERATION "operation", - R.DESCRIPTION "resourceDescription", + SELECT O.OPERATION "operation", + OT.DESCRIPTION "operationDescription", SUM(CASE WHEN SYSDATE > ZSD.PLANNED_COMP_DATE THEN ZSD.DISPATCH_QTY * ZSD.PROD_HOURS ELSE 0 END) "tardinessWork", SUM(CASE @@ -1532,26 +1532,115 @@ THEN ZSD.DISPATCH_QTY * ZSD.PROD_HOURS ELSE 0 END) "unWorkHours7", SUM(CASE WHEN ZSD.PLANNED_COMP_DATE >= TO_DATE(WEEK.WEEK7) AND ZSD.PLANNED_COMP_DATE <= TO_DATE(WEEK.WEEK8) - THEN ZSD.DISPATCH_QTY * ZSD.PROD_HOURS ELSE 0 END) "unWorkHours8", - R.RESRCE + THEN ZSD.DISPATCH_QTY * ZSD.PROD_HOURS ELSE 0 END) "unWorkHours8" FROM Z_SFC_DISPATCH ZSD - LEFT JOIN RESRCE R ON R.SITE = ZSD.SITE AND R.RESRCE = ZSD.RESRCE + LEFT JOIN OPERATION O ON O.OPERATION = ZSD.OPERATION AND O.SITE = ZSD.SITE + LEFT JOIN OPERATION_T OT ON O.HANDLE = OT.OPERATION_BO CROSS JOIN WEEK WHERE (ZSD.DISPATCH_STATUS != 'COMPLETE' AND ZSD.DISPATCH_STATUS != 'CANCEL' AND ZSD.DISPATCH_STATUS != 'PAUSE') - AND R.DESCRIPTION IS NOT NULL AND ZSD.PLANNED_COMP_DATE IS NOT NULL -- AND ZSD.CREATED_DATE_TIME > TO_DATE(TRUNC(TO_DATE(to_char(sysdate,'yyyy-MM-dd'),'yyyy-MM-dd'),'IW') - 8 * 7) - GROUP BY ZSD.OPERATION, R.DESCRIPTION,R.RESRCE - ORDER BY "tardinessWork" DESC) WIP - LEFT JOIN CUSTOM_FIELDS CF ON CF.ATTRIBUTE ='WEEK_CAPACITY' AND CF.HANDLE = 'ResourceBO:'|| #{site} || ','|| WIP.RESRCE + GROUP BY O.OPERATION,OT.DESCRIPTION + ORDER BY "tardinessWork" DESC ) WIP + LEFT JOIN CUSTOM_FIELDS CF ON CF.ATTRIBUTE ='WEEK_CAPACITY' AND CF.HANDLE = 'OperationBO:1000,'|| WIP."operation" || ',1.0' 1=1 AND WIP."operation" = #{operation} - - AND WIP."resourceDescription" = #{resourceDescription} + + AND WIP."operationDescription" = #{operationDescription} + \ No newline at end of file diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/ResrceController.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/ResrceController.java index 004dce02..4f3b86ac 100644 --- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/ResrceController.java +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/ResrceController.java @@ -1,8 +1,5 @@ package com.foreverwin.mesnac.meapi.controller; -import cn.hutool.json.JSONUtil; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.foreverwin.mesnac.meapi.enums.HandleEnum; @@ -236,7 +233,7 @@ public class ResrceController { * @param paramMap * @return */ - @PostMapping("/weekLoadRateReportSaveAll") + @PostMapping("/loadRateReportSaveAll") public R weekLoadRateReportSaveAll(@RequestBody Map paramMap) { try { List> resultList = (List>) paramMap.get("resultList"); @@ -244,7 +241,7 @@ public class ResrceController { if (paramMap.get("capacity").equals("weekCapacity")) { for (HashMap hashMap : resultList) { CustomFields customFields = new CustomFields(); - customFields.setHandle(HandleEnum.RESOURCE.getHandle(CommonMethods.getSite(), hashMap.get("RESRCE"))); + customFields.setHandle(HandleEnum.OPERATION.getHandle(CommonMethods.getSite(), hashMap.get("operation"),"1.0")); customFields.setAttribute("WEEK_CAPACITY"); customFields.setValue(hashMap.get("weekCapacity")); CustomFieldsList.add(customFields); @@ -252,7 +249,7 @@ public class ResrceController { } else { for (HashMap hashMap : resultList) { CustomFields customFields = new CustomFields(); - customFields.setHandle(HandleEnum.RESOURCE.getHandle(CommonMethods.getSite(), hashMap.get("RESRCE"))); + customFields.setHandle(HandleEnum.OPERATION.getHandle(CommonMethods.getSite(), hashMap.get("operation"),"1.0")); customFields.setAttribute("MONTH_CAPACITY"); customFields.setValue(hashMap.get("monthCapacity")); CustomFieldsList.add(customFields);