From a1bdd2887fec278235ec447c521918c021081d40 Mon Sep 17 00:00:00 2001 From: Lius <Lius2225@163.com> Date: 星期四, 12 六月 2025 09:44:59 +0800 Subject: [PATCH] 数字孪生看板设备故障统计接口 --- lxzn-module-mdc/src/main/java/org/jeecg/modules/board/mapper/DtBoardMapper.java | 17 +++++ lxzn-module-mdc/src/main/java/org/jeecg/modules/board/service/IDtBoardService.java | 2 /dev/null | 62 -------------------- lxzn-module-mdc/src/main/java/org/jeecg/modules/board/vo/EquRepair.java | 26 ++++++++ lxzn-module-mdc/src/main/java/org/jeecg/modules/board/mapper/xml/DtBoardMapper.xml | 27 +++++++++ lxzn-module-mdc/src/main/java/org/jeecg/modules/board/service/impl/DtBoardServiceImpl.java | 28 +++++++++ lxzn-module-mdc/src/main/java/org/jeecg/modules/board/controller/DtBoardController.java | 11 ++- 7 files changed, 106 insertions(+), 67 deletions(-) diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/board/controller/DtBoardController.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/board/controller/DtBoardController.java index 909ed5c..f238759 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/board/controller/DtBoardController.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/board/controller/DtBoardController.java @@ -85,11 +85,12 @@ return Result.OK(result); } -// @ApiOperation(value = "鏁板瓧瀛敓鐪嬫澘-璁惧鏁呴殰", notes = "鏁板瓧瀛敓鐪嬫澘-璁惧鏁呴殰") -// @GetMapping("/equAlarmList") -// public Result<?> equAlarmList(@ApiParam(value = "productionId", required = true) String productionId) { -// dtBoardService. -// } + @ApiOperation(value = "鏁板瓧瀛敓鐪嬫澘-璁惧鏁呴殰", notes = "鏁板瓧瀛敓鐪嬫澘-璁惧鏁呴殰") + @GetMapping("/equRepairList") + public Result<?> equRepairList(@ApiParam(value = "productionId", required = true) String productionId) { + List<EquRepair> result = dtBoardService.equRepairList(productionId); + return Result.OK(result); + } } diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/board/mapper/DtBoardMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/board/mapper/DtBoardMapper.java new file mode 100644 index 0000000..12e64b6 --- /dev/null +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/board/mapper/DtBoardMapper.java @@ -0,0 +1,17 @@ +package org.jeecg.modules.board.mapper; + +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.board.vo.EquRepair; + +import java.util.List; + +/** + * @Author: Lius + * @CreateTime: 2025-06-11 + * @Description: + */ +@Mapper +public interface DtBoardMapper { + List<EquRepair> equRepairList(@Param("equipmentIdList") List<String> equipmentIdList, @Param("date") String date); +} diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/board/mapper/xml/DtBoardMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/board/mapper/xml/DtBoardMapper.xml new file mode 100644 index 0000000..566cd4b --- /dev/null +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/board/mapper/xml/DtBoardMapper.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="org.jeecg.modules.board.mapper.DtBoardMapper"> + + <select id="equRepairList" resultType="org.jeecg.modules.board.vo.EquRepair"> + SELECT + t3.equipment_code equipmentId, + COUNT(*) faultNum, + ROUND( + SUM(DATEDIFF(MINUTE, t2.fault_start_time, t1.actual_end_time)) / 60.0, + 2 + ) faultTime + FROM + eam_repair_order t1 + LEFT JOIN eam_report_repair t2 ON t1.report_id = t2.id + LEFT JOIN eam_equipment t3 ON t1.equipment_id = t3.id + WHERE + t1.repair_status = 'COMPLETE' + AND t2.fault_start_time > #{date} + AND t3.equipment_code IN + <foreach collection="equipmentIdList" item="id" index="index" open="(" close=")" separator=","> + #{ id } + </foreach> + GROUP BY + t3.equipment_code + </select> +</mapper> \ No newline at end of file diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/board/service/IDtBoardService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/board/service/IDtBoardService.java index 07069e7..be4172a 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/board/service/IDtBoardService.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/board/service/IDtBoardService.java @@ -27,4 +27,6 @@ List<EquDowntimeInfo> equDowntimeStatistics(String productionId); List<EquAlarm> equAlarmList(String productionId); + + List<EquRepair> equRepairList(String productionId); } diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/board/service/impl/DtBoardServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/board/service/impl/DtBoardServiceImpl.java index bf79693..ebea97e 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/board/service/impl/DtBoardServiceImpl.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/board/service/impl/DtBoardServiceImpl.java @@ -5,8 +5,10 @@ import org.apache.commons.lang3.StringUtils; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.system.vo.DictModel; +import org.jeecg.modules.board.mapper.DtBoardMapper; import org.jeecg.modules.board.service.IDtBoardService; import org.jeecg.modules.board.vo.*; +import org.jeecg.modules.eam.service.IEamRepairOrderService; import org.jeecg.modules.mdc.constant.MdcConstant; import org.jeecg.modules.mdc.entity.*; import org.jeecg.modules.mdc.service.*; @@ -20,6 +22,8 @@ import java.math.BigDecimal; import java.math.RoundingMode; import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; import java.util.*; import java.util.stream.Collectors; @@ -63,6 +67,9 @@ @Resource private IMdcAlarmInfoService mdcAlarmInfoService; + + @Resource + private DtBoardMapper dtBoardMapper; /** * 杞﹂棿淇℃伅 @@ -337,4 +344,25 @@ return result; } + /** + * 璁惧鏁呴殰 + * @param productionId + * @return + */ + @Override + public List<EquRepair> equRepairList(String productionId) { + List<String> proIds = mdcProductionService.findChildByProId(productionId); + if (proIds == null || proIds.isEmpty()) { + return null; + } + List<String> equipmentIdList = mdcEquipmentService.getEquIdsByProIds(proIds); + if (equipmentIdList == null || equipmentIdList.isEmpty()) { + return null; + } + LocalDateTime currentDate = LocalDate.now().minusMonths(1).atStartOfDay(); + String format = currentDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); + List<EquRepair> result = dtBoardMapper.equRepairList(equipmentIdList, format); + return result; + } + } diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/board/vo/EquRepair.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/board/vo/EquRepair.java new file mode 100644 index 0000000..8122dfc --- /dev/null +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/board/vo/EquRepair.java @@ -0,0 +1,26 @@ +package org.jeecg.modules.board.vo; + +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @Author: Lius + * @CreateTime: 2025-06-10 + * @Description: 璁惧鏁呴殰 + */ +@Data +public class EquRepair { + /** + * 璁惧缂栧彿 + */ + private String equipmentId; + /** + * 鏁呴殰娆℃暟 + */ + private BigDecimal faultNum; + /** + * 鏁呴殰鏃堕暱 + */ + private BigDecimal faultTime; +} diff --git a/lxzn-module-msi/src/main/java/org/jeecg/modules/msi/utils/WebServiceUtil.java b/lxzn-module-msi/src/main/java/org/jeecg/modules/msi/utils/WebServiceUtil.java deleted file mode 100644 index a104726..0000000 --- a/lxzn-module-msi/src/main/java/org/jeecg/modules/msi/utils/WebServiceUtil.java +++ /dev/null @@ -1,62 +0,0 @@ -package org.jeecg.modules.msi.utils; - - -import org.apache.cxf.endpoint.Client; -import org.apache.cxf.jaxws.JaxWsProxyFactoryBean; -import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory; - - -public class WebServiceUtil { - /** - * 1.浠g悊绫诲伐鍘傜殑鏂瑰紡,闇�瑕佹嬁鍒板鏂圭殑鎺ュ彛鍦板潃, 鍚屾椂闇�瑕佸紩鍏ユ帴鍙� - */ - public static void invokeService_1(String address, Class<?> tClass){ - // 鎺ュ彛鍦板潃 - //String address = "http://localhost:8080/services/ws/api?wsdl"; - // 浠g悊宸ュ巶 - JaxWsProxyFactoryBean jaxWsProxyFactoryBean = new JaxWsProxyFactoryBean(); - // 璁剧疆浠g悊鍦板潃 - jaxWsProxyFactoryBean.setAddress(address); - // 璁剧疆鎺ュ彛绫诲瀷 - jaxWsProxyFactoryBean.setServiceClass(tClass); - // 鍒涘缓涓�涓唬鐞嗘帴鍙e疄鐜� - Object us = jaxWsProxyFactoryBean.create(); - // 鏁版嵁鍑嗗 - String data = "hello world"; - // 璋冪敤浠g悊鎺ュ彛鐨勬柟娉曡皟鐢ㄥ苟杩斿洖缁撴灉 - //String result = us.emrService(data); - //System.out.println("杩斿洖缁撴灉:" + result); - } - - /** - * 3. 鍔ㄦ�佽皟鐢� - */ - public static String invokeService(String uri, String data, String method) - { - JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance(); - Client client = dcf.createClient(uri); - Object[] objects = new Object[0]; - try { - objects = client.invoke(method, data); - } catch (Exception e) { - e.printStackTrace(); - } - return String.valueOf(objects[0]); - } - - /** - * 2. 鍔ㄦ�佽皟鐢� - */ - public static String invokeServiceObJect(String uri,Object[] datas, String method) - { - JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance(); - Client client = dcf.createClient(uri); - Object[] objects = new Object[0]; - try { - objects = client.invoke(method, datas); - } catch (Exception e) { - e.printStackTrace(); - } - return String.valueOf(objects[0]); - } -} -- Gitblit v1.9.3