lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamDashboardController.java
@@ -1,10 +1,15 @@ package org.jeecg.modules.eam.controller; import cn.hutool.core.collection.CollectionUtil; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.parser.Feature; import com.fasterxml.jackson.databind.ObjectMapper; 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.common.util.DateUtils; import org.jeecg.common.util.TranslateDictTextUtils; import org.jeecg.modules.eam.constant.EquipmentMaintenanceStatus; import org.jeecg.modules.eam.constant.EquipmentRepairStatus; import org.jeecg.modules.eam.entity.EamEquipment; @@ -12,16 +17,14 @@ import org.jeecg.modules.eam.service.IEamInspectionOrderService; import org.jeecg.modules.eam.service.IEamReportRepairService; import org.jeecg.modules.eam.service.IEamWeekMaintenanceOrderService; import org.jeecg.modules.eam.vo.EquipmentInspectionStatistics; import org.jeecg.modules.eam.vo.EquipmentMaintenanceStatistics; import org.jeecg.modules.eam.vo.EquipmentRepairStatistics; import org.jeecg.modules.eam.vo.EquipmentStatusStatistics; import org.jeecg.modules.eam.vo.*; 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 javax.annotation.Resource; import java.time.LocalDate; import java.util.*; @@ -38,6 +41,11 @@ private IEamInspectionOrderService inspectionOrderService; @Autowired private IEamWeekMaintenanceOrderService weekMaintenanceOrderService; @Resource private ObjectMapper objectMapper; @Resource private TranslateDictTextUtils translateDictTextUtils; @ApiOperation(value = "çæ¿æ¥å£-ç»´ä¿ç¶æç»è®¡", notes = "çæ¿æ¥å£-ç»´ä¿ç¶æç»è®¡") @GetMapping(value = "/equipmentStatusStatistics") @@ -151,4 +159,41 @@ resultList.sort(Comparator.comparing(EquipmentMaintenanceStatistics::getMonthStr)); return Result.ok(resultList); } @ApiOperation(value = "ç»´ä¿®çæ¿-ç»´ä¿®ç¶æç»è®¡", notes = "ç»´ä¿®çæ¿-ç»´ä¿®ç¶æç»è®¡") @GetMapping(value = "/repairStatusStatistics") public Result<?> repairStatusStatistics() { EquipmentRepairStatusStatistics statistics = reportRepairService.repairStatusStatistics(); return Result.OK(statistics); } @ApiOperation(value = "ç»´ä¿®çæ¿-ç»´ä¿®å表", notes = "ç»´ä¿®çæ¿-ç»´ä¿®å表") @GetMapping(value = "/repairList") public Result<?> repairList() { List<EquipmentRepairListVO> list = reportRepairService.repairList(); if(CollectionUtil.isEmpty(list)) { return Result.ok(Collections.emptyList()); } List<JSONObject> items = new ArrayList<>(); try { for(EquipmentRepairListVO vo : list) { String json = objectMapper.writeValueAsString(vo); JSONObject item = JSONObject.parseObject(json, Feature.OrderedField); translateDictTextUtils.translateField("reportOperator", vo.getReportOperator(), item, "sys_user,realname,username"); translateDictTextUtils.translateField("repairOperator", vo.getRepairOperator(), item, "sys_user,realname,username"); translateDictTextUtils.translateField("reportStatus", vo.getReportStatus(), item, "report_repair_status"); translateDictTextUtils.translateField("orgId", vo.getOrgId(), item, "mdc_production,production_name,id"); items.add(item); } return Result.OK(items); }catch (Exception e) { return Result.error("æ°æ®è½¬è¯å¤±è´¥ï¼"); } } @ApiOperation(value = "ç»´ä¿®çæ¿-维修工æå", notes = "ç»´ä¿®çæ¿-维修工æå") @GetMapping(value = "/repairmanRanking") public Result<?> repairmanRanking() { return null; } } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamReportRepairMapper.java
@@ -6,7 +6,9 @@ import org.apache.ibatis.annotations.Param; import org.jeecg.modules.eam.entity.EamReportRepair; import org.jeecg.modules.eam.request.EamReportRepairQuery; import org.jeecg.modules.eam.vo.EquipmentRepairListVO; import org.jeecg.modules.eam.vo.EquipmentRepairStatistics; import org.jeecg.modules.eam.vo.EquipmentRepairStatusStatistics; import java.util.List; @@ -35,4 +37,16 @@ * @return */ List<EquipmentRepairStatistics> equipmentRepairStatistics(@Param("productionIds") List<String> productionIds, @Param("start") String start, @Param("end") String end); /** * ç»è®¡ç»´ä¿®ç¶ææ°æ® * @return */ EquipmentRepairStatusStatistics repairStatusStatistics(); /** * ç»´ä¿® æªå®æå表 * @return */ List<EquipmentRepairListVO> repairList(); } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportRepairMapper.xml
@@ -67,4 +67,33 @@ and err.create_time < #{end} group by FORMAT(err.create_time, 'yyyy-MM') </select> <select id="repairStatusStatistics" resultType="org.jeecg.modules.eam.vo.EquipmentRepairStatusStatistics"> SELECT SUM(CASE WHEN t.report_status='WAIT_REPAIR' THEN 1 ELSE 0 END) AS waitRepair, SUM(CASE WHEN t.report_status='UNDER_REPAIR' THEN 1 ELSE 0 END) AS underRepair, SUM(CASE WHEN t.report_status='WAIT_SPARES' THEN 1 ELSE 0 END) AS waitSpares, SUM(CASE WHEN t.report_status='WAIT_CONFIRM' THEN 1 ELSE 0 END) AS waitConfirm from eam_report_repair t where t.report_status not in ('ABOLISH', 'COMPLETE') and t.del_flag = 0 </select> <select id="repairList" resultType="org.jeecg.modules.eam.vo.EquipmentRepairListVO"> select e.equipment_code, e.equipment_name, e.org_id, e.installation_position, err.create_by as reportOperator, err.fault_start_time, ero.repairer as repairOperator, ero.actual_start_time as repairStartTime, err.report_status from eam_report_repair err left join eam_equipment e on err.equipment_id = e.id left join eam_repair_order ero on ero.report_id = err.id where err.report_status not in ('ABOLISH', 'COMPLETE') and err.del_flag = 0 order by e.org_id, err.fault_start_time </select> </mapper> lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamReportRepairService.java
@@ -7,7 +7,9 @@ import org.jeecg.modules.eam.entity.EamReportRepair; import org.jeecg.modules.eam.entity.EamWeekMaintenanceOrderDetail; import org.jeecg.modules.eam.request.EamReportRepairQuery; import org.jeecg.modules.eam.vo.EquipmentRepairListVO; import org.jeecg.modules.eam.vo.EquipmentRepairStatistics; import org.jeecg.modules.eam.vo.EquipmentRepairStatusStatistics; import java.time.LocalDate; import java.util.List; @@ -64,4 +66,16 @@ * @return */ List<EquipmentRepairStatistics> equipmentRepairStatistics(String productionId, LocalDate firstOfMonth, LocalDate today); /** * ç»´ä¿®ç¶æç»è®¡ * @return */ EquipmentRepairStatusStatistics repairStatusStatistics(); /** * ç»´ä¿®å表 * @return */ List<EquipmentRepairListVO> repairList(); } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java
@@ -19,7 +19,9 @@ import org.jeecg.modules.eam.service.IEamEquipmentExtendService; import org.jeecg.modules.eam.service.IEamEquipmentFaultReasonService; import org.jeecg.modules.eam.service.IEamReportRepairService; import org.jeecg.modules.eam.vo.EquipmentRepairListVO; import org.jeecg.modules.eam.vo.EquipmentRepairStatistics; import org.jeecg.modules.eam.vo.EquipmentRepairStatusStatistics; import org.jeecg.modules.system.service.IMdcProductionService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -190,4 +192,14 @@ } return list; } @Override public EquipmentRepairStatusStatistics repairStatusStatistics() { return this.baseMapper.repairStatusStatistics(); } @Override public List<EquipmentRepairListVO> repairList() { return this.baseMapper.repairList(); } } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/EquipmentRepairListVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,50 @@ package org.jeecg.modules.eam.vo; import lombok.Data; import java.io.Serializable; import java.util.Date; @Data public class EquipmentRepairListVO implements Serializable { /** * 设å¤ç¼ç */ private String equipmentCode; /** * 设å¤åç§° */ private String equipmentName; /** * 使ç¨è½¦é´ */ private String orgId; /** * å®è£ ä½ç½® */ private String installationPosition; /** * æ¥ä¿®äºº */ private String reportOperator; /** * æ éå¼å§æ¶é´ */ private Date faultStartTime; /** * 维修人 */ private String repairOperator; /** * æ¥åæ¶é´ */ private Date repairStartTime; /** * æ éæç»æ¶é¿(MIN) */ private Integer faultDuration; /** * å·¥åç¶æ */ private String reportStatus; } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/EquipmentRepairStatusStatistics.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,25 @@ package org.jeecg.modules.eam.vo; import lombok.Data; import java.io.Serializable; @Data public class EquipmentRepairStatusStatistics implements Serializable { /** * å¾ æ¥å */ private Integer waitRepair; /** * ç»´ä¿®ä¸ */ private Integer underRepair; /** * çå¤ä»¶ */ private Integer waitSpares; /** * å¾ ç¡®è®¤ */ private Integer waitConfirm; }