From aca5717aa279a6861a6ddc6b6718a994873b0f60 Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期二, 06 五月 2025 11:44:28 +0800 Subject: [PATCH] art: 设备管理-看板接口-维保状态接口 --- lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamEquipmentMapper.java | 9 +++ lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java | 24 ++++++++ lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamEquipmentService.java | 7 ++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamDashboardController.java | 45 +++++++++++++++ lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml | 8 ++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/EquipmentMaintenanceStatistics.java | 36 ++++++++++++ 6 files changed, 129 insertions(+), 0 deletions(-) diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamEquipmentMapper.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamEquipmentMapper.java index 92bffec..076a83a 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamEquipmentMapper.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamEquipmentMapper.java @@ -32,4 +32,13 @@ * @return */ IPage<EamEquipment> queryPageList(IPage<EamEquipment> page, @Param(Constants.WRAPPER) Wrapper<EamEquipment> queryWrapper); + + + /** + * 鏌ヨ浜х嚎涓嬪緱璁惧 + * 娌℃湁鏁版嵁鏉冮檺鎺у埗 + * @param queryWrapper + * @return + */ + List<EamEquipment> queryByProductionIds(@Param(Constants.WRAPPER) Wrapper<EamEquipment> queryWrapper); } diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml index f7e323a..3027e8c 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml @@ -9,4 +9,12 @@ on e.id = ext.id ${ew.customSqlSegment} </select> + + <select id="queryByProductionIds" resultType="org.jeecg.modules.eam.entity.EamEquipment"> + select e.*, ext.repair_status, ext.maintenance_status + from eam_equipment e + left join eam_equipment_extend ext + on e.id = ext.id + ${ew.customSqlSegment} + </select> </mapper> \ No newline at end of file diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamEquipmentService.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamEquipmentService.java index d5e31af..6b2dfd5 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamEquipmentService.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamEquipmentService.java @@ -52,4 +52,11 @@ * @return */ EamEquipment selectByEquipmentCode(String equipmentCode); + + /** + * 鏍规嵁杞﹂棿鏌ヨ璁惧鍙拌处鍒楄〃 + * @param productionId 杞﹂棿ID + * @return + */ + List<EamEquipment> queryByProductionId(String productionId); } diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java index b508ae8..dee8a83 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java @@ -235,6 +235,30 @@ return eamEquipmentMapper.selectOne(queryWrapper); } + @Override + public List<EamEquipment> queryByProductionId(String productionId) { + QueryWrapper<EamEquipment> queryWrapper = new QueryWrapper<>(); + //杞﹂棿涓虹┖ 鍒欐煡璇㈡墍鏈夎澶� + if (StringUtils.isNotBlank(productionId)) { + //杞﹂棿缂栫爜涓嶄负绌� + List<String> productIds = mdcProductionService.recursionChildren(productionId); + if (CollectionUtil.isEmpty(productIds)) { + return Collections.emptyList(); + } + if(productIds.size() == 1) { + queryWrapper.eq("e.org_id", productIds.get(0)); + }else { + queryWrapper.in("e.org_id", productIds); + } + } + queryWrapper.eq("del_flag", CommonConstant.DEL_FLAG_0); + List<EamEquipment> list = eamEquipmentMapper.queryByProductionIds(queryWrapper); + if(CollectionUtil.isNotEmpty(list)) { + return list; + } + return Collections.emptyList(); + } + /** * 鑾峰彇鎵�鏈夌殑浜х嚎id锛堝寘鍚墍鏈変笂绾э級 */ diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamDashboardController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamDashboardController.java index 00f3bf7..70b8ebd 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamDashboardController.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamDashboardController.java @@ -1,14 +1,59 @@ package org.jeecg.modules.eam.controller; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.api.vo.Result; +import org.jeecg.modules.eam.constant.EquipmentMaintenanceStatus; +import org.jeecg.modules.eam.constant.EquipmentRepairStatus; +import org.jeecg.modules.eam.entity.EamEquipment; +import org.jeecg.modules.eam.service.IEamEquipmentService; +import org.jeecg.modules.eam.vo.EquipmentMaintenanceStatistics; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; @Slf4j @Api(tags="璁惧绠$悊-棣栭〉鐪嬫澘鎺ュ彛") @RestController @RequestMapping("/eam/dashboard") public class EamDashboardController { + @Autowired + private IEamEquipmentService eamEquipmentService; + @ApiOperation(value="鐪嬫澘鎺ュ彛-缁翠繚鐘舵�佺粺璁�", notes="鐪嬫澘鎺ュ彛-缁翠繚鐘舵�佺粺璁�") + @GetMapping(value = "/equipmentStatusStatistics") + public Result<?> equipmentStatusStatistics(@RequestParam(required = false, value = "productionId") String productionId) { + List<EamEquipment> list = eamEquipmentService.queryByProductionId(productionId); + //鍒濆鍖栬繑鍥� + Map<String, EquipmentMaintenanceStatistics> statisticsMap = new HashMap<>(); + statisticsMap.put(EquipmentMaintenanceStatus.NORMAL.name(), new EquipmentMaintenanceStatistics(EquipmentMaintenanceStatus.NORMAL.name(), "姝e父")); + statisticsMap.put(EquipmentMaintenanceStatus.UNDER_INSPECTION.name(), new EquipmentMaintenanceStatistics(EquipmentMaintenanceStatus.UNDER_INSPECTION.name(), "鐐规")); + statisticsMap.put(EquipmentMaintenanceStatus.UNDER_MAINTENANCE.name(), new EquipmentMaintenanceStatistics(EquipmentMaintenanceStatus.UNDER_MAINTENANCE.name(), "淇濆吇")); + statisticsMap.put(EquipmentRepairStatus.UNDER_REPAIR.name(), new EquipmentMaintenanceStatistics(EquipmentRepairStatus.UNDER_REPAIR.name(), "缁翠慨")); + + for (EamEquipment entity : list) { + if(EquipmentMaintenanceStatus.NORMAL.name().equals(entity.getMaintenanceStatus()) && EquipmentMaintenanceStatus.NORMAL.name().equals(entity.getRepairStatus())) { + //姝e父鐘舵�� + statisticsMap.get(EquipmentMaintenanceStatus.NORMAL.name()).increase(); + }else if(!EquipmentMaintenanceStatus.NORMAL.name().equals(entity.getRepairStatus())) { + //缁翠慨鐘舵�� + statisticsMap.get(EquipmentRepairStatus.UNDER_REPAIR.name()).increase(); + } else if(EquipmentMaintenanceStatus.UNDER_MAINTENANCE.name().equals(entity.getMaintenanceStatus()) || EquipmentMaintenanceStatus.WAIT_CONFIRM.name().equals(entity.getMaintenanceStatus())) { + //淇濆吇鐘舵�� + statisticsMap.get(EquipmentMaintenanceStatus.UNDER_MAINTENANCE.name()).increase(); + } else { + statisticsMap.get(EquipmentMaintenanceStatus.UNDER_INSPECTION.name()).increase(); + } + } + List<EquipmentMaintenanceStatistics> resultList = new ArrayList<>(statisticsMap.values()); + return Result.ok(resultList); + } } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/EquipmentMaintenanceStatistics.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/EquipmentMaintenanceStatistics.java new file mode 100644 index 0000000..0bd09a2 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/EquipmentMaintenanceStatistics.java @@ -0,0 +1,36 @@ +package org.jeecg.modules.eam.vo; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 璁惧缁翠繚鐘舵�佺粺璁� + */ +@Data +public class EquipmentMaintenanceStatistics implements Serializable { + /** + * 鐘舵�� + */ + private String status; + /** + * 鏁伴噺 + */ + private int totalNumber; + + /** + * 鐘舵�佽浆璇� + */ + private String statusText; + + public EquipmentMaintenanceStatistics() {} + + public EquipmentMaintenanceStatistics(String status, String statusText) { + this.status = status; + this.statusText = statusText; + } + + public void increase() { + totalNumber++; + } +} -- Gitblit v1.9.3