diff --git a/anomaly/src/main/resources/mapper/ReportMapper.xml b/anomaly/src/main/resources/mapper/ReportMapper.xml index f3818a92..7442873f 100644 --- a/anomaly/src/main/resources/mapper/ReportMapper.xml +++ b/anomaly/src/main/resources/mapper/ReportMapper.xml @@ -1553,7 +1553,7 @@ OT.DESCRIPTION "operationDescription", RT.DESCRIPTION, SUM(CASE - WHEN SYSDATE > ZSD.PLANNED_COMP_DATE THEN ZSD.DISPATCH_QTY * ZSD.PROD_HOURS ELSE 0 END) "tardinessWork", + WHEN TO_DATE(trunc(sysdate,'month')) > ZSD.PLANNED_COMP_DATE THEN ZSD.DISPATCH_QTY * ZSD.PROD_HOURS ELSE 0 END) "tardinessWork", SUM(CASE WHEN ZSD.PLANNED_COMP_DATE >= TO_DATE(WEEK.WEEK0) AND ZSD.PLANNED_COMP_DATE <= TO_DATE(WEEK.WEEK1) THEN ZSD.DISPATCH_QTY * ZSD.PROD_HOURS ELSE 0 END) "unWorkHours1", @@ -1581,7 +1581,7 @@ WCT.DESCRIPTION WORK_CENTER_DESCRIPTION, RT.DESCRIPTION RESOURCE_TYPE_DESCRIPTION FROM Z_SFC_DISPATCH ZSD - LEFT JOIN OPERATION O ON O.OPERATION = ZSD.OPERATION AND O.SITE = ZSD.SITE + LEFT JOIN OPERATION O ON O.OPERATION = ZSD.OPERATION AND O.SITE = ZSD.SITE AND CURRENT_REVISION = 'true' LEFT JOIN OPERATION_T OT ON O.HANDLE = OT.OPERATION_BO LEFT JOIN WORK_CENTER WC ON WC.WORK_CENTER = ZSD.WORK_CENTER LEFT JOIN WORK_CENTER_T WCT ON WCT.WORK_CENTER_BO = WC.HANDLE @@ -1595,7 +1595,8 @@ GROUP BY O.OPERATION,OT.DESCRIPTION,WCT.DESCRIPTION,RT.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' + LEFT JOIN OPERATION OP ON OP.OPERATION = WIP."operation" AND CURRENT_REVISION = 'true' + LEFT JOIN CUSTOM_FIELDS CF ON CF.ATTRIBUTE ='WEEK_CAPACITY' AND CF.HANDLE = OP.HANDLE 1=1 @@ -1643,8 +1644,7 @@ SELECT O.OPERATION "operation", OT.DESCRIPTION "operationDescription", SUM(CASE - WHEN SYSDATE > ZSD.PLANNED_COMP_DATE AND ZSD.DISPATCH_STATUS != 'COMPLETE' - THEN ZSD.DISPATCH_QTY * ZSD.PROD_HOURS ELSE 0 END) "tardinessWork", + WHEN TO_DATE(trunc(sysdate,'month')) > ZSD.PLANNED_COMP_DATE THEN ZSD.DISPATCH_QTY * ZSD.PROD_HOURS ELSE 0 END) "tardinessWork", SUM(CASE WHEN ZSD.PLANNED_COMP_DATE >= TO_DATE(MONTH.month0) AND ZSD.PLANNED_COMP_DATE <= TO_DATE(MONTH.month1) THEN ZSD.DISPATCH_QTY * ZSD.PROD_HOURS ELSE 0 END) "workHours1", @@ -1684,20 +1684,21 @@ WCT.DESCRIPTION WORK_CENTER_DESCRIPTION, RT.DESCRIPTION RESOURCE_TYPE_DESCRIPTION FROM Z_SFC_DISPATCH ZSD - LEFT JOIN OPERATION O ON O.OPERATION = ZSD.OPERATION AND O.SITE = ZSD.SITE + LEFT JOIN OPERATION O ON O.OPERATION = ZSD.OPERATION AND O.SITE = ZSD.SITE AND CURRENT_REVISION = 'true' LEFT JOIN OPERATION_T OT ON O.HANDLE = OT.OPERATION_BO LEFT JOIN WORK_CENTER WC ON WC.WORK_CENTER = ZSD.WORK_CENTER LEFT JOIN WORK_CENTER_T WCT ON WCT.WORK_CENTER_BO = WC.HANDLE LEFT JOIN RESOURCE_TYPE RT ON ZSD.RESOURCE_TYPE = RT.RESOURCE_TYPE CROSS JOIN MONTH - WHERE (ZSD.DISPATCH_STATUS != 'CANCEL' AND ZSD.DISPATCH_STATUS != 'PAUSE') + WHERE (ZSD.DISPATCH_STATUS != 'CANCEL' AND ZSD.DISPATCH_STATUS != 'PAUSE' AND ZSD.DISPATCH_STATUS != 'COMPLETE') AND ZSD.PLANNED_COMP_DATE IS NOT NULL AND ZSD.WORK_CENTER = #{workCenter} GROUP BY O.OPERATION,OT.DESCRIPTION,WCT.DESCRIPTION,RT.DESCRIPTION ORDER BY O.OPERATION DESC ) WIP - LEFT JOIN CUSTOM_FIELDS CF ON CF.ATTRIBUTE ='MONTH_CAPACITY' AND CF.HANDLE = 'OperationBO:1000,'|| WIP."operation" || ',1.0' + LEFT JOIN OPERATION OP ON OP.OPERATION = WIP."operation" AND CURRENT_REVISION = 'true' + LEFT JOIN CUSTOM_FIELDS CF ON CF.ATTRIBUTE ='MONTH_CAPACITY' AND CF.HANDLE = OP.HANDLE 1=1 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 764f8eae..55ac6e59 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 @@ -4,8 +4,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.foreverwin.mesnac.meapi.enums.HandleEnum; import com.foreverwin.mesnac.meapi.model.CustomFields; +import com.foreverwin.mesnac.meapi.model.Operation; import com.foreverwin.mesnac.meapi.model.Resrce; import com.foreverwin.mesnac.meapi.service.CustomFieldsService; +import com.foreverwin.mesnac.meapi.service.OperationService; import com.foreverwin.mesnac.meapi.service.ResrceService; import com.foreverwin.modular.core.util.CommonMethods; import com.foreverwin.modular.core.util.FrontPage; @@ -30,6 +32,9 @@ public class ResrceController { @Autowired public ResrceService resrceService; + @Autowired + OperationService operationService; + @Autowired private CustomFieldsService customFieldsService; @@ -241,7 +246,8 @@ public class ResrceController { if (paramMap.get("capacity").equals("weekCapacity")) { for (HashMap hashMap : resultList) { CustomFields customFields = new CustomFields(); - customFields.setHandle(HandleEnum.OPERATION.getHandle(CommonMethods.getSite(), hashMap.get("operation"),"1.0")); + Operation operation = operationService.getCurrentRevisionRef(CommonMethods.getSite(), hashMap.get("operation")); + customFields.setHandle(operation.getHandle()); customFields.setAttribute("WEEK_CAPACITY"); customFields.setValue(hashMap.get("weekCapacity")); CustomFieldsList.add(customFields); @@ -249,7 +255,8 @@ public class ResrceController { } else if (paramMap.get("capacity").equals("monthCapacity")){ for (HashMap hashMap : resultList) { CustomFields customFields = new CustomFields(); - customFields.setHandle(HandleEnum.OPERATION.getHandle(CommonMethods.getSite(), hashMap.get("operation"),"1.0")); + Operation operation = operationService.getCurrentRevisionRef(CommonMethods.getSite(), hashMap.get("operation")); + customFields.setHandle(operation.getHandle()); customFields.setAttribute("MONTH_CAPACITY"); customFields.setValue(hashMap.get("monthCapacity")); CustomFieldsList.add(customFields); @@ -257,7 +264,8 @@ public class ResrceController { }else if (paramMap.get("capacity").equals("dayCapacity")){ for (HashMap hashMap : resultList) { CustomFields customFields = new CustomFields(); - customFields.setHandle(HandleEnum.OPERATION.getHandle(CommonMethods.getSite(), hashMap.get("operation"),"1.0")); + Operation operation = operationService.getCurrentRevisionRef(CommonMethods.getSite(), hashMap.get("operation")); + customFields.setHandle(operation.getHandle()); customFields.setAttribute("DAY_CAPACITY"); customFields.setValue(hashMap.get("dayCapacity")); CustomFieldsList.add(customFields);