zhangherong
2025-05-09 8203359e4e68775b3ce0e540837bf3332d970798
art: 设备管理-维修看板-维修工排名统计
已添加1个文件
已修改6个文件
96 ■■■■■ 文件已修改
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamDashboardController.java 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamRepairOrderMapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamRepairOrderMapper.xml 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamRepairOrderService.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamRepairOrderServiceImpl.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/EquipmentRepairListVO.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/RepairmanRankingVO.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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 &gt;= #{start}
          and t.actual_end_time &lt; #{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;
}