From 4520e851d9ae2f660b88536478d4422d9f04a33f Mon Sep 17 00:00:00 2001 From: yinq <1345442242@qq.com> Date: Mon, 29 Aug 2022 08:45:58 +0800 Subject: [PATCH 1/3] =?UTF-8?q?add=E4=BA=A4=E4=BB=98=E5=8F=8A=E6=97=B6?= =?UTF-8?q?=E7=8E=87=E6=8A=A5=E8=A1=A8(=E5=91=A8=E7=BB=B4=E5=BA=A6)(?= =?UTF-8?q?=E6=9C=88=E7=BB=B4=E5=BA=A6)=E3=80=81=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E7=94=9F=E4=BA=A7=E5=8A=A0=E5=B7=A5=E5=91=A8=E6=9C=9F=E6=8A=A5?= =?UTF-8?q?=E8=A1=A8=E3=80=81=E8=B4=A8=E9=87=8F=E6=A3=80=E9=AA=8C=E5=93=8D?= =?UTF-8?q?=E5=BA=94=E6=97=B6=E9=97=B4=E6=8A=A5=E8=A1=A8=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../anomaly/controller/ReportController.java | 54 +++++ .../mesnac/anomaly/mapper/ReportMapper.java | 23 +++ .../mesnac/anomaly/service/ReportService.java | 28 +++ .../service/impl/ReportServiceImpl.java | 142 ++++++++++++++ .../mesnac/anomaly/utils/DateReportUtils.java | 141 +++++++++++++ .../main/resources/mapper/ReportMapper.xml | 185 +++++++++++++++++- 6 files changed, 572 insertions(+), 1 deletion(-) create mode 100644 anomaly/src/main/java/com/foreverwin/mesnac/anomaly/utils/DateReportUtils.java 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 c78821dd..6ae93559 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 @@ -300,6 +300,60 @@ public class ReportController { return R.failed(e.getMessage()); } } + /** + * 交付及时率报表(周维度) + * @param paramMap + * @return + */ + @GetMapping("/weekDeliveryRateReport") + public R weekDeliveryRateReport(@RequestParam(required = false) Map paramMap){ + try{ + return R.ok(reportService.weekDeliveryRateReport(paramMap)); + }catch (Exception e){ + return R.failed(e.getMessage()); + } + } + + /** + * 交付及时率报表(周维度) + * @param paramMap + * @return + */ + @GetMapping("/monthDeliveryRateReport") + public R monthDeliveryRateReport(@RequestParam(required = false) Map paramMap){ + try{ + return R.ok(reportService.monthDeliveryRateReport(paramMap)); + }catch (Exception e){ + return R.failed(e.getMessage()); + } + } + /** + * 项目生产加工周期报表 + * @param paramMap + * @return + */ + @GetMapping("/itemProductProgressReport") + public R itemProductProgressReport(@RequestParam(required = false) Map paramMap){ + try{ + return R.ok(reportService.itemProductProgressReport(paramMap)); + }catch (Exception e){ + return R.failed(e.getMessage()); + } + } + + /** + * 质量检验响应时间报表 + * @param paramMap + * @return + */ + @GetMapping("/qualityInspectionResponseReport") + public R qualityInspectionResponseReport(@RequestParam(required = false) Map paramMap){ + try{ + return R.ok(reportService.qualityInspectionResponseReport(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 61939735..6e6cabf8 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 @@ -125,4 +125,27 @@ public interface ReportMapper { * @return */ List> monthLoadRateReport(Map paramMap); + + /** + * 交付及时率报表(周维度) + * @param paramMap + * @return + */ + List> weekDeliveryRateReport(Map paramMap); + + /** + * 交付及时率报表(周维度) + * @param paramMap + * @return + */ + List> monthDeliveryRateReport(Map paramMap); + + List> itemProductProgressReport(Map paramMap); + + /** + * 质量检验响应时间报表 + * @param paramMap + * @return + */ + List> qualityInspectionResponseReport(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 cd7a37e2..a72e3ddb 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 @@ -131,4 +131,32 @@ public interface ReportService { * @return */ List> monthLoadRateReport(Map paramMap); + + /** + * 交付及时率报表(周维度) + * @param paramMap + * @return + */ + List> weekDeliveryRateReport(Map paramMap); + + /** + * 交付及时率报表(月维度) + * @param paramMap + * @return + */ + List> monthDeliveryRateReport(Map paramMap); + + /** + * 项目生产加工周期报表 + * @param paramMap + * @return + */ + List> itemProductProgressReport(Map paramMap); + + /** + * 质量检验响应时间报表 + * @param paramMap + * @return + */ + List> qualityInspectionResponseReport(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 7ed67f5e..4873f717 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 @@ -1,9 +1,11 @@ package com.foreverwin.mesnac.anomaly.service.impl; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.foreverwin.mesnac.anomaly.dto.IntegrationLogDto; import com.foreverwin.mesnac.anomaly.mapper.ReportMapper; import com.foreverwin.mesnac.anomaly.service.ReportService; +import com.foreverwin.mesnac.anomaly.utils.DateReportUtils; import com.foreverwin.mesnac.common.enums.HandleEnum; import com.foreverwin.mesnac.common.util.DateUtil; import com.foreverwin.mesnac.meapi.mapper.DataFieldListMapper; @@ -533,6 +535,146 @@ public class ReportServiceImpl implements ReportService { return reportMapper.monthLoadRateReport(paramMap); } + /** + * 交付及时率报表(周维度) + * @param paramMap + * @return + */ + @Override + public List> weekDeliveryRateReport(Map paramMap) { + String site = CommonMethods.getSite(); + paramMap.put("site", site); + paramMap.put("locale", LocaleContextHolder.getLocale().getLanguage()); + HashMap>> result = new HashMap<>(); + +/* QueryWrapper wrapper = new QueryWrapper<>(); + //columnData + ArrayList> columnDataList = new ArrayList<>(); + HashMap columnMap0 = new LinkedHashMap<>(); + columnMap0.put("colName","序号"); + columnMap0.put("width","30"); + columnDataList.add(columnMap0); + HashMap columnMap1 = new LinkedHashMap<>(); + columnMap1.put("colName","车间描述"); + columnDataList.add(columnMap1); + HashMap columnMap2 = new LinkedHashMap<>(); + columnMap2.put("colName","资源编号"); + columnDataList.add(columnMap2); + HashMap columnMap3 = new LinkedHashMap<>(); + columnMap3.put("colName","工序描述"); + columnDataList.add(columnMap3); + HashMap columnMap4 = new LinkedHashMap<>(); + columnMap4.put("colName","资源描述"); + columnDataList.add(columnMap4); + List> weekOfDate = DateReportUtils.getWeekOfDate(String.valueOf(paramMap.get("startDate")), String.valueOf(paramMap.get("endDate"))); + + //rowData + ArrayList> rowDataList = new ArrayList<>(); + int week = 1; + for (Map weekOfDateMap : weekOfDate) { + HashMap columnMap5 = new LinkedHashMap<>(); + columnMap5.put("colName",week + "计划数量"); + columnDataList.add(columnMap5); + HashMap columnMap6 = new LinkedHashMap<>(); + columnMap6.put("colName",week + "按期完工数量"); + columnDataList.add(columnMap6); + HashMap columnMap7 = new LinkedHashMap<>(); + columnMap7.put("colName",week + "零件交付及时率"); + columnDataList.add(columnMap7); + HashMap columnMap8 = new LinkedHashMap<>(); + columnMap8.put("colName",week + "工时量"); + columnDataList.add(columnMap8); + HashMap columnMap9 = new LinkedHashMap<>(); + columnMap9.put("colName",week + "按期完工工时"); + columnDataList.add(columnMap9); + HashMap columnMap10 = new LinkedHashMap<>(); + columnMap10.put("colName",week + "工时交付及时率"); + columnDataList.add(columnMap10); + + + + paramMap.put("startDate",weekOfDateMap.get("start")); + paramMap.put("endDate",weekOfDateMap.get("end")); + List> weekList = reportMapper.weekDeliveryRateReport(paramMap); + + int i = 1; + for (Map weekResultMap : weekList) { + HashMap rowMap = new LinkedHashMap<>(); + rowMap.put("序号",String.valueOf(i)); + rowMap.put("车间描述",weekResultMap.get("workCenter")); + rowMap.put("资源编号",weekResultMap.get("resrceCode")); + rowMap.put("工序描述",weekResultMap.get("operationDescription")); + rowMap.put("资源描述",weekResultMap.get("resrceDescription")); + rowMap.put(week + "计划数量",weekResultMap.get("sumQTY")); + rowMap.put(week + "按期完工数量",weekResultMap.get("sumDoneQTY")); + rowMap.put(week + "零件交付及时率",weekResultMap.get("QTYrate")); + rowMap.put(week + "工时量",weekResultMap.get("sumHours")); + rowMap.put(week + "按期完工工时",weekResultMap.get("sumDoneHours")); + rowMap.put(week + "工时交付及时率",weekResultMap.get("HOURSrate")); + + i++; + rowDataList.add(rowMap); + } + week++; + } + + result.put("columnData",columnDataList); + result.put("rowData",rowDataList);*/ + return reportMapper.weekDeliveryRateReport(paramMap); + } + + /** + * 交付及时率报表(周维度) + * @param paramMap + * @return + */ + @Override + public List> monthDeliveryRateReport(Map paramMap) { + String site = CommonMethods.getSite(); + paramMap.put("site", site); + paramMap.put("locale", LocaleContextHolder.getLocale().getLanguage()); + return reportMapper.monthDeliveryRateReport(paramMap); + } + + /** + * 项目生产加工周期报表 + * @param paramMap + * @return + */ + @Override + public List> itemProductProgressReport(Map paramMap) { + String site = CommonMethods.getSite(); + paramMap.put("site", site); + paramMap.put("locale", LocaleContextHolder.getLocale().getLanguage()); + List> mapList = reportMapper.itemProductProgressReport(paramMap); + + for (Map objectMap : mapList) { + String workOrder = String.valueOf(objectMap.get("workOrder")); + if (workOrder.indexOf("/") != -1){ + if (workOrder.split("/").length > 2){ + objectMap.put("career",workOrder.split("/")[1]); + }else { + objectMap.put("career",""); + } + }else { + objectMap.put("career",""); + } + } + return mapList; + } + + /** + * 质量检验响应时间报表 + * @param paramMap + * @return + */ + @Override + public List> qualityInspectionResponseReport(Map paramMap) { + String site = CommonMethods.getSite(); + paramMap.put("site", site); + paramMap.put("locale", LocaleContextHolder.getLocale().getLanguage()); + return reportMapper.qualityInspectionResponseReport(paramMap); + } /** * 事业部质量看板数据接口 diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/utils/DateReportUtils.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/utils/DateReportUtils.java new file mode 100644 index 00000000..7c51401b --- /dev/null +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/utils/DateReportUtils.java @@ -0,0 +1,141 @@ +package com.foreverwin.mesnac.anomaly.utils; + +import org.apache.commons.lang.time.DateUtils; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.*; + +/** + * @Author YinQ + * @create 2022-08-25 12:40 + */ +public class DateReportUtils { + + public static final String sdf2 = "yyyy-MM-dd"; + + /** + * 指定时间计算有几周,并返回每周起止日期 + * + * @param start 开始时间 + * @param end 结束时间 + * @return week:第几周 start:每周开始时间 end:每周结束时间 + */ + public static List> getWeekOfDate(String start, String end) { + List> list = new ArrayList<>(); + Map map; + Date startDate = stringToDate(start, sdf2); + Date endDate = stringToDate(end, sdf2); + + assert endDate != null; + assert startDate != null; + long howLong = howLong("d", startDate, endDate); + int weekNum = Math.toIntExact(howLong / 7); + if (howLong % 7 > 0) { + weekNum++; + } + + Calendar cal = Calendar.getInstance(); + // 设置一个星期的第一天,按中国的习惯一个星期的第一天是星期一 + cal.setFirstDayOfWeek(Calendar.MONDAY); + cal.setTime(startDate); + // 获得当前日期是一个星期的第几天 + int dayWeek = cal.get(Calendar.DAY_OF_WEEK); + if (1 == dayWeek) { + cal.add(Calendar.DAY_OF_MONTH, -1); + } + for (int i = 1; i <= weekNum; i++) { + map = new HashMap<>(); + map.put("week", String.valueOf(i)); + + if (i == 1) {//第一周以 start 开始 + map.put("start", dateFormat(startDate, sdf2)); + }else { + map.put("start",dateFormat(cal.getTime(),sdf2)); + } + + if (i == weekNum) {//最后一周以 end 结束 + map.put("end", dateFormat(endDate, sdf2)); + }else { + //设置这周的周日日期,1代表周日,取值范围1~7,设置1~7之外会从周日开始往前后推算,负前正后,DAY_OF_WEEK的日期变更范围只会是在当前日期的周 + cal.set(Calendar.DAY_OF_WEEK,1); + map.put("end",dateFormat(cal.getTime(),sdf2)); + } + list.add(map); + + //调用 org.apache.commons.lang.time.DateUtils 包下的方法 + //新增一天到下一周的开始日期 + cal.setTime(DateUtils.addDays(cal.getTime(), 1)); + } + + return list; + } + + + /** + * 将date类型转为String类型 + * + * @param date 时间 + * @param type 格式 + * @return + */ + public static String dateFormat(Date date, String type) { + if (date == null) { + return null; + } + SimpleDateFormat sdf = new SimpleDateFormat(type); + return sdf.format(date); + } + + + /** + * 将Sting类型转为date类型 + * + * @param str 待转换的字符 + * @param date 时间类型,如:yyyy-MM-dd HH:mm:ss + * @return + * @throws ParseException + */ + public static Date stringToDate(String str, String date) { + try { + SimpleDateFormat sdf = new SimpleDateFormat(date); + return sdf.parse(str); + } catch (ParseException e) { + e.printStackTrace(); + } + return null; + } + + + /** + * 计算时间差 (时间单位,开始时间,结束时间) + * + * @param unit 时间单位 s - 秒,m - 分,h - 时,d - 天 ,M - 月 y - 年 + * @param begin 开始时间 + * @param end 结束时间 + * @return + */ + public static long howLong(String unit, Date begin, Date end) { + long ltime = begin.getTime() - end.getTime() < 0 ? end.getTime() - begin.getTime() + : begin.getTime() - end.getTime(); + if (unit.equals("s")) { + return ltime / 1000;// 返回秒 + } else if (unit.equals("m")) { + return ltime / 60000;// 返回分钟 + } else if (unit.equals("h")) { + return ltime / 3600000;// 返回小时 + } else if (unit.equals("d")) { + return ltime / 86400000;// 返回天数 + } else if (unit.equals("y")) { + long res = ltime / 86400000; + return res / 365; + } else if (unit.equals("M")) { + long res = ltime / 86400000; + return res / 30; + } else { + return 0; + } + } + +} + diff --git a/anomaly/src/main/resources/mapper/ReportMapper.xml b/anomaly/src/main/resources/mapper/ReportMapper.xml index 61292008..09871fd0 100644 --- a/anomaly/src/main/resources/mapper/ReportMapper.xml +++ b/anomaly/src/main/resources/mapper/ReportMapper.xml @@ -1205,6 +1205,7 @@ LEFT JOIN ROUTER r ON zsd.ROUTER_BO = R.HANDLE LEFT JOIN ROUTER_STEP rs ON rs.ROUTER_BO = r.HANDLE AND rs.STEP_ID = zsd.STEP_ID WHERE zsd.SITE = '1000' + AND zsd.DISPATCH_STATUS != 'CANCEL' AND cf.VALUE IS NOT NULL AND cf2.VALUE IS NOT NULL GROUP BY zsd.SITE, cf.VALUE, cf2.VALUE, zsd.SHOP_ORDER, zsd.SFC, it.DESCRIPTION, rs.REWORK @@ -1284,7 +1285,7 @@ + + + + \ No newline at end of file From 598769bd2fd853dc4dc2e75eebbc98bb08795445 Mon Sep 17 00:00:00 2001 From: yinq <1345442242@qq.com> Date: Tue, 30 Aug 2022 10:26:57 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=94=9F=E4=BA=A7?= =?UTF-8?q?=E5=8A=A0=E5=B7=A5=E5=91=A8=E6=9C=9F=E7=9C=8B=E6=9D=BF=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../anomaly/controller/ReportController.java | 14 ++++ .../mesnac/anomaly/mapper/ReportMapper.java | 2 + .../mesnac/anomaly/service/ReportService.java | 7 ++ .../service/impl/ReportServiceImpl.java | 64 ++++++++++++++++++- .../main/resources/mapper/ReportMapper.xml | 32 ++++++++++ 5 files changed, 117 insertions(+), 2 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 6ae93559..a4e9b860 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 @@ -356,4 +356,18 @@ public class ReportController { } } + /** + * 项目生产加工周期看板 + * @param + * @return + */ + @GetMapping("/projectPlanningProgress") + public R projectPlanningProgress(String user){ + try { + return R.ok(reportService.projectPlanningProgress(user)); + } 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 6e6cabf8..6c83b2c9 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 @@ -105,6 +105,8 @@ public interface ReportMapper { List> projectScheduleShow(@Param("user") String user); + List> projectPlanningProgress(@Param("user") String user); + /** * 质量返修报表 * @param 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 a72e3ddb..ea8db759 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 @@ -159,4 +159,11 @@ public interface ReportService { * @return */ List> qualityInspectionResponseReport(Map paramMap); + + /** + * 项目生产加工周期看板 + * @param userGroup + * @return + */ + Map projectPlanningProgress(String userGroup); } 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 4873f717..369ef429 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 @@ -1,11 +1,9 @@ package com.foreverwin.mesnac.anomaly.service.impl; import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.foreverwin.mesnac.anomaly.dto.IntegrationLogDto; import com.foreverwin.mesnac.anomaly.mapper.ReportMapper; import com.foreverwin.mesnac.anomaly.service.ReportService; -import com.foreverwin.mesnac.anomaly.utils.DateReportUtils; import com.foreverwin.mesnac.common.enums.HandleEnum; import com.foreverwin.mesnac.common.util.DateUtil; import com.foreverwin.mesnac.meapi.mapper.DataFieldListMapper; @@ -676,6 +674,68 @@ public class ReportServiceImpl implements ReportService { return reportMapper.qualityInspectionResponseReport(paramMap); } + /** + * 项目生产加工周期看板 + * @param userGroup + * @return + */ + @Override + public Map projectPlanningProgress(String userGroup) { + List> abnormalQualityList = reportMapper.projectPlanningProgress(userGroup); + Map result = new HashMap<>(); + Map>> workOrderMap = abnormalQualityList.stream() + .collect(Collectors.groupingBy(e -> { + String career =e.get("workOrder"); + try { + if (career.indexOf("硫化") != -1) { + return "硫化"; + }else if (career.indexOf("全钢") != -1) { + return "全钢"; + }else if (career.indexOf("半钢") != -1) { + return "半钢"; + }else if (career.indexOf("鼓") != -1) { + return "鼓"; + }else if (career.indexOf("裁断") != -1) { + return "裁断"; + }else if (career.indexOf("检测") != -1) { + return "检测"; + }else if (career.indexOf("橡塑") != -1) { + return "橡塑"; + } else if (career.indexOf("非公路") != -1) { + return "非公路"; + } else if (career.indexOf("塞班") != -1) { + return "塞班"; + } else { + return "外部"; + } + } catch (Exception exception) { + exception.printStackTrace(); + } + return ""; + })); + + for (String workOrder : workOrderMap.keySet()) { + HashMap resultMap = new HashMap<>(); + ArrayList items = new ArrayList<>(); + ArrayList shopOrderQTYs = new ArrayList<>(); + ArrayList doneQTY = new ArrayList<>(); + ArrayList rate = new ArrayList<>(); + List> maps = workOrderMap.get(workOrder); + maps.forEach(e -> { + items.add(e.get("item")); + shopOrderQTYs.add(e.get("shopOrderQTY")); + doneQTY.add(e.get("doneQTY")); + rate.add(e.get("rate")); + }); + resultMap.put("items",items); + resultMap.put("shopOrderQTY",shopOrderQTYs); + resultMap.put("doneQTY",doneQTY); + resultMap.put("rate",rate); + result.put(workOrder,resultMap); + } + return result; + } + /** * 事业部质量看板数据接口 * @param user diff --git a/anomaly/src/main/resources/mapper/ReportMapper.xml b/anomaly/src/main/resources/mapper/ReportMapper.xml index 09871fd0..59ad2f9f 100644 --- a/anomaly/src/main/resources/mapper/ReportMapper.xml +++ b/anomaly/src/main/resources/mapper/ReportMapper.xml @@ -1397,6 +1397,38 @@ ORDER BY WIP."rate" DESC + + \ No newline at end of file