From 8d620840453e4712b4bc0a1d6e288bb2286837d8 Mon Sep 17 00:00:00 2001 From: zhaoxiaolin Date: Tue, 12 Nov 2024 12:40:46 +0800 Subject: [PATCH] =?UTF-8?q?=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D14?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WCSInterfaceController.java | 19 +++++ .../java/com/op/mes/mapper/MesMapper.java | 5 ++ .../op/mes/service/IWCSInterfaceService.java | 2 + .../service/impl/IWCInterfaceServiceImpl.java | 74 ++++++++++++++++++- .../main/resources/mapper/mes/MesMapper.xml | 24 +++++- 5 files changed, 120 insertions(+), 4 deletions(-) diff --git a/op-modules/op-mes/src/main/java/com/op/mes/controller/WCSInterfaceController.java b/op-modules/op-mes/src/main/java/com/op/mes/controller/WCSInterfaceController.java index bac28805..1cfd2499 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/controller/WCSInterfaceController.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/controller/WCSInterfaceController.java @@ -112,6 +112,25 @@ public class WCSInterfaceController extends BaseController { return success(wCInterfaceService.getMesBoardEquProductionToday(boardDTO)); } + @PostMapping("/getWhiteBoardEquPro7Days") + public AjaxResult getWhiteBoardEquPro7Days(@RequestBody BoardDTO boardDTO) { + if (StringUtils.isBlank(boardDTO.getFactory())) { + return error("[factory] is not null"); + } + if (StringUtils.isEmpty(boardDTO.getYmd())) { + boardDTO.setYmd(DateUtils.getDate()); + } + + if(StringUtils.isBlank(boardDTO.getShiftId())){ + return error("[shiftId] is not null"); + } + + if (StringUtils.isEmpty(boardDTO.getEquTypeCode())) {//设备类型 + return error("[equTypeCode] is not null"); + } + return success(wCInterfaceService.getWhiteBoardEquPro7Days(boardDTO)); + } + /************************************************************/ /****************************数据库清理************************/ /************************************************************/ diff --git a/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesMapper.java b/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesMapper.java index 0e42ffd1..e738e249 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesMapper.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/mapper/MesMapper.java @@ -108,4 +108,9 @@ public interface MesMapper { int updateTransferResult(@Param("list") List todoList); MesLine getMesLineInfo(BoardDTO boardDTO); + + @MapKey("ymd") + Map getEveryDayMap(BoardDTO boardDTO); + @MapKey("ymd") + Map getPlanDayMap(BoardDTO boardDTO); } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/IWCSInterfaceService.java b/op-modules/op-mes/src/main/java/com/op/mes/service/IWCSInterfaceService.java index 214cee3c..eb24a868 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/IWCSInterfaceService.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/IWCSInterfaceService.java @@ -44,4 +44,6 @@ public interface IWCSInterfaceService { AjaxResult changeTransferResultTask(); R prReportWork(MesReportWork mesReportWork); + + Map getWhiteBoardEquPro7Days(BoardDTO boardDTO); } diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java index a56355f5..258bdeee 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java @@ -679,6 +679,64 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService { return sapRson; } + @Override + public Map getWhiteBoardEquPro7Days(BoardDTO boardDTO) { + DynamicDataSourceContextHolder.push("ds_" + boardDTO.getFactory());// 这是数据源的key + Map boardMap = new HashMap(); + List weeks = this.get7Days(); + + List plans = new ArrayList<>(); + List acts = new ArrayList<>(); + List finishRatio = new ArrayList<>(); + boardDTO.setYmd(weeks.get(0)); + + Map actMaps = mesMapper.getEveryDayMap(boardDTO); + Map planMaps = mesMapper.getPlanDayMap(boardDTO); + + for(String dayName:weeks){ + BoardDTO planMap = planMaps.get(dayName); + if(planMap!=null){ + plans.add(planMap.getTotalNum()+""); + }else{ + plans.add("0"); + } + BoardDTO actMap = actMaps.get(dayName); + if(actMap!=null){ + acts.add(actMap.getTotalNum()+""); + }else{ + acts.add("0"); + } + if(planMap!=null&&actMap!=null){ + finishRatio.add( + new BigDecimal(actMap.getTotalNum()).multiply(new BigDecimal("100")) + .divide(new BigDecimal(planMap.getTotalNum()),2,BigDecimal.ROUND_HALF_UP).toString() + ); + }else{ + finishRatio.add("0"); + } + } + boardMap.put("dayNames",weeks); + boardMap.put("plans",plans); + boardMap.put("acts",acts); + boardMap.put("finishRatio",finishRatio); + return boardMap; + } + + protected List get7Days(){ + List days = new ArrayList<>(); + // 获取当前日期 + LocalDate today = LocalDate.now(); + // 定义一个日期格式化器 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + // 打印最近七天的日期 + System.out.println("最近七天的日期:"); + for (int i = 0; i < 7; i++) { + LocalDate date = today.minusDays(i); + days.add(date.format(formatter)); + } + Collections.reverse(days); + return days; + } /** * * @param workOrder @@ -1167,8 +1225,18 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService { } public static void main(String args[]){ - int xhnumber = Integer.parseInt("005")+1; - String paddedNumber = String.format("%04d", xhnumber); - System.out.println(paddedNumber); + List days = new ArrayList<>(); + // 获取当前日期 + LocalDate today = LocalDate.now(); + // 定义一个日期格式化器 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + // 打印最近七天的日期 + System.out.println("最近七天的日期:"); + for (int i = 0; i < 7; i++) { + LocalDate date = today.minusDays(i); + days.add(date.format(formatter)); + } + Collections.reverse(days); + System.out.println(days); } } diff --git a/op-modules/op-mes/src/main/resources/mapper/mes/MesMapper.xml b/op-modules/op-mes/src/main/resources/mapper/mes/MesMapper.xml index 4b686a7d..1401cb72 100644 --- a/op-modules/op-mes/src/main/resources/mapper/mes/MesMapper.xml +++ b/op-modules/op-mes/src/main/resources/mapper/mes/MesMapper.xml @@ -154,13 +154,14 @@ from mes_material_transfer_result mt left join base_equipment equ on mt.equipmentCode = equ.equipment_code where CONVERT(varchar(10),mt.create_time, 120) = #{ymd} and equ.equipment_name is not null - and equ.equipment_type_code = #{equTypeCode} and mt.status = 2 + and equ.equipment_type_code = #{equTypeCode} and mt.status = 2 and mt.equipmentCode not in('H61','H62','H63') and mt.shift_id = #{shiftId} group by mt.equipmentCode, equ.equipment_name, equ.equipment_type_code + order by mt.equipmentCode @@ -464,5 +465,26 @@ where mlp.line_code = #{equCode} and mlp.product_code = #{productCode} and mlp.del_flag='0' and bp.del_flag='0' + +