lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamDashboardController.java
@@ -13,10 +13,7 @@ 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.service.IEamInspectionOrderService; import org.jeecg.modules.eam.service.IEamReportRepairService; import org.jeecg.modules.eam.service.IEamWeekMaintenanceOrderService; import org.jeecg.modules.eam.service.*; import org.jeecg.modules.eam.vo.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -43,9 +40,11 @@ private IEamWeekMaintenanceOrderService weekMaintenanceOrderService; @Resource private ObjectMapper objectMapper; @Resource private TranslateDictTextUtils translateDictTextUtils; @Autowired private IEamRepairOrderService repairOrderService; @ApiOperation(value = "çæ¿æ¥å£-ç»´ä¿ç¶æç»è®¡", notes = "çæ¿æ¥å£-ç»´ä¿ç¶æç»è®¡") @GetMapping(value = "/equipmentStatusStatistics") @@ -194,6 +193,28 @@ @ApiOperation(value = "ç»´ä¿®çæ¿-维修工æå", notes = "ç»´ä¿®çæ¿-维修工æå") @GetMapping(value = "/repairmanRanking") public Result<?> repairmanRanking() { return null; LocalDate today = LocalDate.now(); LocalDate end = today.plusDays(1); LocalDate start = today.minusDays(30); //åªåå7å List<RepairmanRankingVO> list = repairOrderService.repairmanRanking(start.toString(), end.toString()); if(CollectionUtil.isEmpty(list)) { return Result.ok(Collections.emptyList()); } if(list.size() > 7) { list = list.subList(0, 7); } List<JSONObject> items = new ArrayList<>(); try { for(RepairmanRankingVO vo : list) { String json = objectMapper.writeValueAsString(vo); JSONObject item = JSONObject.parseObject(json, Feature.OrderedField); translateDictTextUtils.translateField("repairer", vo.getRepairer(), item, "sys_user,realname,username"); items.add(item); } return Result.OK(items); }catch (Exception e) { return Result.error("æ°æ®è½¬è¯å¤±è´¥ï¼"); } } } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamRepairOrderMapper.java
@@ -6,6 +6,7 @@ import org.jeecg.modules.eam.entity.EamRepairOrder; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.jeecg.modules.eam.request.EamRepairOrderQuery; import org.jeecg.modules.eam.vo.RepairmanRankingVO; import java.util.List; @@ -26,4 +27,12 @@ * @return */ IPage<EamRepairOrder> pageList(Page<EamRepairOrder> page, @Param("eamRepairOrder") EamRepairOrderQuery eamRepairOrder, @Param("userId") String userId, @Param("equipmentIds") List<String> equipmentIds); /** * ç»è®¡ç»´ä¿®æå * @param start * @param end * @return */ List<RepairmanRankingVO> repairmanRanking(String start, String end); } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamRepairOrderMapper.xml
@@ -45,4 +45,15 @@ </where> ORDER BY t1.create_time DESC </select> <select id="repairmanRanking" resultType="org.jeecg.modules.eam.vo.RepairmanRankingVO"> select t.repairer, COUNT(1) as repairNumber from eam_repair_order t where t.repair_status = 'COMPLETE' and t.del_flag = 0 and t.actual_end_time >= #{start} and t.actual_end_time < #{end} group by t.repairer order by repairNumber desc </select> </mapper> lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamRepairOrderService.java
@@ -2,12 +2,15 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.jeecg.modules.eam.entity.EamRepairOrder; import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.eam.entity.EamRepairOrder; import org.jeecg.modules.eam.request.EamRepairOrderQuery; import org.jeecg.modules.eam.request.EamRepairOrderRequest; import org.jeecg.modules.eam.request.EamRepairOrderResponse; import org.jeecg.modules.eam.request.EamReportRepairQuery; import org.jeecg.modules.eam.vo.RepairmanRankingVO; import java.util.List; /** * @Description: 维修工å @@ -44,4 +47,12 @@ * @param eamReportRepairQuery */ void assign(EamReportRepairQuery eamReportRepairQuery); /** * ç»´ä¿®æåç»è®¡ * @param start * @param end * @return */ List<RepairmanRankingVO> repairmanRanking(String start, String end); } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamRepairOrderServiceImpl.java
@@ -30,6 +30,7 @@ import org.jeecg.modules.eam.service.IEamEquipmentService; import org.jeecg.modules.eam.service.IEamRepairOrderService; import org.jeecg.modules.eam.service.IEamReportRepairService; import org.jeecg.modules.eam.vo.RepairmanRankingVO; import org.jeecg.modules.flowable.apithird.business.entity.FlowMyBusiness; import org.jeecg.modules.flowable.apithird.business.service.IFlowMyBusinessService; import org.jeecg.modules.flowable.apithird.service.FlowCallBackServiceI; @@ -188,6 +189,11 @@ } } @Override public List<RepairmanRankingVO> repairmanRanking(String start, String end) { return this.baseMapper.repairmanRanking(start, end); } /** * æµç¨æä½ * lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/EquipmentRepairListVO.java
@@ -1,6 +1,7 @@ package org.jeecg.modules.eam.vo; import lombok.Data; import org.jeecg.modules.mdc.util.DateUtils; import java.io.Serializable; import java.util.Date; @@ -47,4 +48,12 @@ * å·¥åç¶æ */ private String reportStatus; //è®¡ç® æ éæç»æ¶é¿ åé public Integer getFaultDuration() { if (faultStartTime != null) { return DateUtils.differentMinutes(faultStartTime, new Date()); } return null; } } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/RepairmanRankingVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,15 @@ package org.jeecg.modules.eam.vo; import lombok.Data; @Data public class RepairmanRankingVO { /** * 维修人 */ private String repairer; /** * ç»´ä¿®æ°é */ private Integer repairNumber; }