From 6bb88ca3e3d1a89921b1854bef8520858a273a3f Mon Sep 17 00:00:00 2001 From: yinq <1345442242@qq.com> Date: Fri, 12 Aug 2022 16:34:26 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=8B=E4=B8=9A=E9=83=A8=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E8=BF=9B=E5=BA=A6=E7=9C=8B=E6=9D=BF=E6=95=B0=E6=8D=AE=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../anomaly/controller/ReportController.java | 13 ++++++ .../mesnac/anomaly/mapper/ReportMapper.java | 7 ++++ .../mesnac/anomaly/service/ReportService.java | 7 ++++ .../service/impl/ReportServiceImpl.java | 41 ++++++++++++++----- .../main/resources/mapper/ReportMapper.xml | 6 ++- 5 files changed, 63 insertions(+), 11 deletions(-) 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 658c86bf..a8611155 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 @@ -230,6 +230,19 @@ public class ReportController { } } + /** + * + * 质量返修报表 + */ + @GetMapping("/qualityRepairReport") + public R qualityRepairReport(@RequestParam(required = false) Map paramMap){ + try{ + return R.ok(reportService.qualityRepairReport(paramMap)); + }catch (Exception e){ + return R.failed(e.getMessage()); + } + } + /** * 事业部质量看板数据接口 * @param 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 4b4ea7c4..8d646b38 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 @@ -104,4 +104,11 @@ public interface ReportMapper { List> abnormalQuality(@Param("user") String user); List> projectScheduleShow(@Param("user") String user); + + /** + * 质量返修报表 + * @param paramMap + * @return + */ + Map qualityRepairReport(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 0f7c9f53..bb54c9e1 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 @@ -110,4 +110,11 @@ public interface ReportService { * @return */ HashMap projectScheduleShow(String userGroup); + + /** + * 质量返修报表 + * @param paramMap + * @return + */ + Map qualityRepairReport(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 01596e02..05d9e0d8 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 @@ -491,6 +491,20 @@ public class ReportServiceImpl implements ReportService { return result; } + /** + * 质量返修报表 + * @param paramMap + * @return + */ + @Override + public Map qualityRepairReport(Map paramMap) { + String site = CommonMethods.getSite(); + paramMap.put("site", site); + paramMap.put("locale", LocaleContextHolder.getLocale().getLanguage()); + return reportMapper.qualityRepairReport(paramMap); + } + + /** * 事业部质量看板数据接口 @@ -616,7 +630,11 @@ public class ReportServiceImpl implements ReportService { ArrayList> firstThreeList = new ArrayList<>(); for (Map abnormalQualityMap : abnormalQualityList) { LinkedHashMap firstThreeMap = new LinkedHashMap<>(); - firstThreeMap.put("value1",abnormalQualityMap.get("item")); + if (abnormalQualityMap.get("item").length() > 30){ + firstThreeMap.put("value1",abnormalQualityMap.get("item").substring(0,29)); + }else { + firstThreeMap.put("value1",abnormalQualityMap.get("item")); + } if (abnormalQualityMap.get("workOrder").indexOf("/") != -1){ if (abnormalQualityMap.get("workOrder").split("/").length > 2){ @@ -638,22 +656,23 @@ public class ReportServiceImpl implements ReportService { HashMap projectGanttChartHashMap = new HashMap<>(); String startDate = dateConvert(String.valueOf(abnormalQualityMap.get("startDate"))); projectGanttChartHashMap.put("start",startDate); - String planRate = String.valueOf(abnormalQualityMap.get("planRate")); - if (Float.valueOf(planRate) <= 0){ + String planRate = dateConvert(String.valueOf(abnormalQualityMap.get("endPlanDate"))); + if (Float.valueOf(planRate) < 1){ projectGanttChartHashMap.put("rate1", "1"); }else { - projectGanttChartHashMap.put("rate1", String.valueOf(Float.valueOf(planRate) * 0.7 - Float.valueOf(startDate))); + projectGanttChartHashMap.put("rate1", String.valueOf(Float.valueOf(planRate) - Float.valueOf(startDate))); } String rate = String.valueOf(abnormalQualityMap.get("rate")); projectGanttChartHashMap.put("rate2",String.valueOf(Float.valueOf(rate) * 0.7 - Float.valueOf(startDate))); - String now = dateConvert(DateUtil.formatDate(new Date())); - projectGanttChartHashMap.put("rate3",String.valueOf(Float.valueOf(now) - Float.valueOf(startDate))); + //String now = dateConvert(DateUtil.formatDate(new Date())); + projectGanttChartHashMap.put("rate3",String.valueOf(Float.valueOf(abnormalQualityMap.get("planRate")) * 0.7 - Float.valueOf(startDate))); projectGanttChartList.add(projectGanttChartHashMap); } result.put("projectGanttChartList",projectGanttChartList); return result; } + /** * 看板日期格式转换 任务开始时间 * @param date @@ -662,18 +681,20 @@ public class ReportServiceImpl implements ReportService { private String dateConvert(String date){ long oneDate = 1000 * 60 * 60 * 24; + + long tenWeek = 1000 * 60 * 60 * 24 * 7 * 10; //任务开始时间 long dateTime = DateUtil.parseDate(date).getTime(); - //十个周 70天 | 当前日期为基准 前四周 + 后六周 - long currentTime = DateUtil.getCurrentDate().getTime(); + //十个周 70天 | 当前一周开始时间为基准 前四周 + 后六周 + long currentTime = DateUtil.getBeginDateByWeek().getTime(); // 四周前 毫秒数 - long firstFourWeeksTime = currentTime - (oneDate * 28); + long firstFourWeeksTime = currentTime - (oneDate * ( 4 * 7 )); // 天数 = (任务开始时间 - 四周前) / (1000 * 60 * 60 * 24) double timeDifference = (double)(dateTime - firstFourWeeksTime) / (double)oneDate; if (timeDifference > 70){ return "70.00"; }else if(timeDifference < 0){ - return "1.00"; + return "0.00"; } return String.format("%.2f", timeDifference); } diff --git a/anomaly/src/main/resources/mapper/ReportMapper.xml b/anomaly/src/main/resources/mapper/ReportMapper.xml index 1f2c6de1..94bec85d 100644 --- a/anomaly/src/main/resources/mapper/ReportMapper.xml +++ b/anomaly/src/main/resources/mapper/ReportMapper.xml @@ -1387,12 +1387,16 @@ ORDER BY endPlanTime DESC) WIP WIP.rate > 0.00 + AND WIP.PLANNED_START_DATE >= (SYSDATE - 5 * 7) AND WIP.workOrder like '%${user}%' GROUP BY WIP.item, WIP.workOrder - ORDER BY"startDate" DESC + ORDER BY"rate" DESC + + \ No newline at end of file