Lius
2024-01-06 20a7735a6831064c9d5bea12c50f63729f2db2fc
mdc更新
已修改13个文件
170 ■■■■ 文件已修改
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcOverallEquipmentEfficiency.java 42 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningOverallEquipmentEfficiencyJob.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcProcessCountMapper.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcOverallEquipmentEfficiencyMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcProcessCountMapper.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcOverallEquipmentEfficiencyService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IProcessCountService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcDeviceCalendarServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentOvertimeServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOverallEquipmentEfficiencyServiceImpl.java 57 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcPlanCloseServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/ProcessCountServiceImpl.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcOverallEquipmentEfficiencyVo.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcOverallEquipmentEfficiency.java
@@ -59,126 +59,126 @@
     */
    @Excel(name = "每班小时", width = 15)
    @ApiModelProperty(value = "每班小时")
    private BigDecimal shiftTimeCount;
    private BigDecimal shiftTimeCount = BigDecimal.ZERO;
    /**
     * 加班时间
     */
    @Excel(name = "加班时间", width = 15)
    @ApiModelProperty(value = "加班时间")
    private BigDecimal overtime;
    private BigDecimal overtime = BigDecimal.ZERO;
    /**
     * 实际班产天数
     */
    @Excel(name = "实际班产天数", width = 15)
    @ApiModelProperty(value = "实际班产天数")
    private BigDecimal actualWorkDayCount;
    private BigDecimal actualWorkDayCount = BigDecimal.ZERO;
    /**
     * 月度实际班产总时间
     */
    @Excel(name = "月度实际班产总时间", width = 15)
    @ApiModelProperty(value = "月度实际班产总时间")
    private BigDecimal monthActualWorkDayTimeCount;
    private BigDecimal monthActualWorkDayTimeCount = BigDecimal.ZERO;
    /**
     * 故障停机时长(分钟)
     */
    @Excel(name = "故障停机时长", width = 15)
    @ApiModelProperty(value = "故障停机时长(分钟)")
    private BigDecimal breakdownDownDuration;
    private BigDecimal breakdownDownDuration = BigDecimal.ZERO;
    /**
     * 换型调试时长(分钟)
     */
    @Excel(name = "换型调试时长(分钟)", width = 15)
    @ApiModelProperty(value = "换型调试时长(分钟)")
    private BigDecimal conversionDebugDuration;
    private BigDecimal conversionDebugDuration = BigDecimal.ZERO;
    /**
     * 物料短缺时长(分钟)
     */
    @Excel(name = "物料短缺时长(分钟)", width = 15)
    @ApiModelProperty(value = "物料短缺时长(分钟)")
    private BigDecimal materialShortageDuration;
    private BigDecimal materialShortageDuration = BigDecimal.ZERO;
    /**
     * 计划等任务(分钟)
     */
    @Excel(name = "计划等任务(分钟)", width = 15)
    @ApiModelProperty(value = "计划等任务(分钟)")
    private BigDecimal plannedTaskDuration;
    private BigDecimal plannedTaskDuration = BigDecimal.ZERO;
    /**
     * 检验(分钟)
     */
    @Excel(name = "检验(分钟)", width = 15)
    @ApiModelProperty(value = "检验(分钟)")
    private BigDecimal inspectDuration;
    private BigDecimal inspectDuration = BigDecimal.ZERO;
    /**
     * 其他(分钟)
     */
    @Excel(name = "其他(分钟)", width = 15)
    @ApiModelProperty(value = "其他(分钟)")
    private BigDecimal otherDuration;
    private BigDecimal otherDuration = BigDecimal.ZERO;
    /**
     * 计划保养
     */
    @Excel(name = "计划保养", width = 15)
    @ApiModelProperty(value = "计划保养")
    private BigDecimal plannedMaintenanceDuration;
    private BigDecimal plannedMaintenanceDuration = BigDecimal.ZERO;
    /**
     * 会议培训时长
     */
    @Excel(name = "会议培训时长", width = 15)
    @ApiModelProperty(value = "会议培训时长")
    private BigDecimal conferenceTrainingDuration;
    private BigDecimal conferenceTrainingDuration = BigDecimal.ZERO;
    /**
     * 其他休息时长
     */
    @Excel(name = "其他休息时长", width = 15)
    @ApiModelProperty(value = "其他休息时长")
    private BigDecimal otherRestDuration;
    private BigDecimal otherRestDuration = BigDecimal.ZERO;
    /**
     * 负荷时间
     */
    @Excel(name = "负荷时间", width = 15)
    @ApiModelProperty(value = "负荷时间")
    private BigDecimal loadTime;
    private BigDecimal loadTime = BigDecimal.ZERO;
    /**
     * 时间开动率
     */
    @Excel(name = "时间开动率", width = 15)
    @ApiModelProperty(value = "时间开动率")
    private BigDecimal timeActuationRate;
    private BigDecimal timeActuationRate = BigDecimal.ZERO;
    /**
     * 加工零件数
     */
    @Excel(name = "加工零件数", width = 15)
    @ApiModelProperty(value = "加工零件数")
    private BigDecimal processQuantity;
    private BigDecimal processQuantity = BigDecimal.ZERO;
    /**
     * 标准加工时间(分钟)
     */
    @Excel(name = "标准加工时间(分钟)", width = 15)
    @ApiModelProperty(value = "标准加工时间(分钟)")
    private BigDecimal standardProcessDuration;
    private BigDecimal standardProcessDuration = BigDecimal.ZERO;
    /**
     * 性能开动率
     */
    @Excel(name = "性能开动率", width = 15)
    @ApiModelProperty(value = "性能开动率")
    private BigDecimal performanceRate;
    private BigDecimal performanceRate = BigDecimal.ZERO;
    /**
     * 废品数
     */
    @Excel(name = "废品数", width = 15)
    @ApiModelProperty(value = "废品数")
    private BigDecimal unqualifiedQuantity;
    private BigDecimal unqualifiedQuantity = BigDecimal.ZERO;
    /**
     * 合格率
     */
    @Excel(name = "合格率", width = 15)
    @ApiModelProperty(value = "合格率")
    private BigDecimal passRate;
    private BigDecimal passRate = BigDecimal.ONE;
    /**
     * 设备综合效率
     */
    @Excel(name = "设备综合效率", width = 15)
    @ApiModelProperty(value = "设备综合效率")
    private BigDecimal overallEquipmentEfficiency;
    private BigDecimal overallEquipmentEfficiency = BigDecimal.ONE;
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/RunningOverallEquipmentEfficiencyJob.java
@@ -25,6 +25,15 @@
@Slf4j
public class RunningOverallEquipmentEfficiencyJob implements Job {
    /**
     * 若参数变量名修改 QuartzJobController中也需对应修改  时间: yyyyMMdd 例: 20230414
     */
    private String parameter;
    public void setParameter(String parameter) {
        this.parameter = parameter;
    }
    @Resource
    private IQuartzJobService quartzJobService;
@@ -45,10 +54,11 @@
        if (byJobClassName != null && !byJobClassName.isEmpty()) {
            quartzLog.setJobId(byJobClassName.get(0).getId());
        }
        log.info("定时计算设备综合效率OEE任务 RunningOverallEquipmentEfficiencyJob start!  时间:" + DateUtils.now());
        quartzLog.setParams(this.parameter);
        log.info("定时计算设备综合效率OEE任务 RunningOverallEquipmentEfficiencyJob start!  时间:" + DateUtils.now(), this.parameter);
        long startTime = System.currentTimeMillis();
        try {
            mdcOverallEquipmentEfficiencyService.runningOverallEquipmentEfficiency();
            mdcOverallEquipmentEfficiencyService.runningOverallEquipmentEfficiency(this.parameter);
            quartzLog.setIsSuccess(0);
        } catch (Exception e) {
            quartzLog.setIsSuccess(-1);
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcProcessCountMapper.java
@@ -8,6 +8,8 @@
import org.jeecg.modules.mdc.entity.MdcProcessCount;
import org.jeecg.modules.mdc.vo.MdcProcessCountVo;
import java.math.BigDecimal;
/**
 * @author Lius
 * @date 2023/11/27 11:07
@@ -23,4 +25,7 @@
     * @return
     */
    IPage<MdcProcessCountDto> pageList(Page<MdcProcessCountDto> page, @Param("mdcProcessCountVo") MdcProcessCountVo mdcProcessCountVo);
    BigDecimal findDuration(@Param("equipmentId") String equipmentId, @Param("validDate") String validDate);
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcOverallEquipmentEfficiencyMapper.xml
@@ -38,6 +38,7 @@
            t1.update_time
        FROM
            mdc_overall_equipment_efficiency t1
            LEFT JOIN mdc_equipment t2 ON t1.equipment_id = t2.equipment_id
        <where>
            <if test="mdcOverallEquipmentEfficiency.startTime != null and mdcOverallEquipmentEfficiency.startTime != '' and mdcOverallEquipmentEfficiency.endTime != null and mdcOverallEquipmentEfficiency.endTime != ''">
                AND t1.valid_date BETWEEN #{ mdcOverallEquipmentEfficiency.startTime } AND #{ mdcOverallEquipmentEfficiency.endTime }
@@ -48,6 +49,9 @@
                    #{ id }
                </foreach>
            </if>
            <if test="mdcOverallEquipmentEfficiency.driveType != null and mdcOverallEquipmentEfficiency.driveType != ''">
                AND t2.drive_type = #{ mdcOverallEquipmentEfficiency.driveType }
            </if>
        </where>
    </select>
</mapper>
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcProcessCountMapper.xml
@@ -44,4 +44,13 @@
            t1.the_date,
            t1.sequence_number
    </select>
    <select id="findDuration" resultType="java.math.BigDecimal">
        SELECT
            SUM( duration )
        FROM
            mdc_process_count
        WHERE
            equipment_id = #{ equipmentId } AND the_date LIKE CONCAT(#{ validDate }, '%')
    </select>
</mapper>
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcOverallEquipmentEfficiencyService.java
@@ -17,7 +17,7 @@
    /**
     * 计算设备综合效率OEE
     */
    void runningOverallEquipmentEfficiency();
    void runningOverallEquipmentEfficiency(String dateTime);
    /**
     * 分页列表查询
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IProcessCountService.java
@@ -8,6 +8,7 @@
import org.jeecg.modules.mdc.vo.MdcProcessCountVo;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
/**
 * @author Lius
@@ -31,4 +32,5 @@
     */
    IPage<MdcProcessCountDto> pageList(String userId, Page<MdcProcessCountDto> page, MdcProcessCountVo mdcProcessCountVo, HttpServletRequest req);
    BigDecimal findDuration(String equipmentId, String validDate);
}
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcDeviceCalendarServiceImpl.java
@@ -165,6 +165,7 @@
     */
    @Override
    public BigDecimal computeShiftTimeCount(String equipmentId, String validDate) {
        validDate = validDate.replaceAll("-", "");
        Integer shiftCount = this.baseMapper.computeShiftTimeCount(equipmentId, validDate);
        return new BigDecimal(shiftCount).multiply(new BigDecimal("8")).multiply(new BigDecimal("60"));
    }
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentOvertimeServiceImpl.java
@@ -138,7 +138,7 @@
     */
    @Override
    public BigDecimal computeOvertime(String equipmentId, String validDate) {
        List<MdcEquipmentOvertime> list = this.baseMapper.computeOvertime(equipmentId, validDate);
        List<MdcEquipmentOvertime> list = this.baseMapper.computeOvertime(equipmentId, validDate.replaceAll("-", ""));
        BigDecimal result = new BigDecimal("0");
        if (list != null && !list.isEmpty()) {
            for (MdcEquipmentOvertime equipmentOvertime : list) {
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcOverallEquipmentEfficiencyServiceImpl.java
@@ -11,6 +11,7 @@
import org.jeecg.modules.mdc.entity.MdcStandardProcessDuration;
import org.jeecg.modules.mdc.mapper.MdcOverallEquipmentEfficiencyMapper;
import org.jeecg.modules.mdc.service.*;
import org.jeecg.modules.mdc.util.DateUtils;
import org.jeecg.modules.mdc.vo.MdcOverallEquipmentEfficiencyVo;
import org.springframework.stereotype.Service;
@@ -54,11 +55,14 @@
    @Resource
    private IMdcEquipmentStatisticalShiftInfoService mdcEquipmentStatisticalShiftInfoService;
    @Resource
    private IProcessCountService processCountService;
    /**
     * 计算设备综合效率OEE
     */
    @Override
    public void runningOverallEquipmentEfficiency() {
    public void runningOverallEquipmentEfficiency(String dateTime) {
        /*
            OEE = 时间开动率 × 性能开动率 × 合格品率
            时间开动率 = (负荷时间 - 非计划停机时间) / 负荷时间 × 100%
@@ -72,7 +76,19 @@
        List<MdcOverallEquipmentEfficiency> result = new ArrayList<>();
        // 获取有效日期 格式 yyyy-MM
        String validDate = YearMonth.now().minusMonths(1).toString();
        if (StringUtils.isNotBlank(dateTime)) {
            validDate = DateUtils.format(DateUtils.toDate(dateTime, "yyyyMM"), DateUtils.STR_YEAR_MONTH);
            try {
                if (validDate != null) {
                    this.remove(new LambdaQueryWrapper<MdcOverallEquipmentEfficiency>().
                            eq(MdcOverallEquipmentEfficiency::getValidDate, validDate));
                }
            } catch (Exception e) {
                log.error("参数格式不对", e);
            }
        }
        // 获取设备列表
//        List<MdcEquipment> equipmentList = mdcEquipmentService.list(new LambdaQueryWrapper<MdcEquipment>().eq(MdcEquipment::getEquipmentId, "2140198"));
        List<MdcEquipment> equipmentList = mdcEquipmentService.list();
        for (MdcEquipment mdcEquipment : equipmentList) {
            String equipmentId = mdcEquipment.getEquipmentId();
@@ -141,17 +157,22 @@
            // 负荷时间(分钟)
            BigDecimal loadTime = mdcOverallEquipmentEfficiency.getShiftTimeCount().subtract(plannedMaintenanceDuration).subtract(conferenceTrainingDuration).subtract(otherRestDuration);
            mdcOverallEquipmentEfficiency.setLoadTime(loadTime.divide(new BigDecimal("60"), 1, RoundingMode.HALF_UP));
            // 时间开动率
            // 时间开动率 = 主轴运行时间/负荷时间
            // 查询主轴运行时间(分钟)
            BigDecimal spindleRunDuration = mdcEquipmentStatisticalShiftInfoService.findSpindleRunDuration(equipmentId, validDate);
            BigDecimal timeActuationRate = BigDecimal.ZERO;
            if (loadTime.compareTo(BigDecimal.ZERO) == 0) {
                mdcOverallEquipmentEfficiency.setTimeActuationRate(BigDecimal.ZERO);
            } else {
                timeActuationRate = (loadTime.subtract(breakdownDownDuration).subtract(conversionDebugDuration).subtract(materialShortageDuration).subtract(plannedTaskDuration).subtract(inspectDuration).subtract(otherDuration)).divide(loadTime, 4, RoundingMode.HALF_UP);
                timeActuationRate = spindleRunDuration.divide(loadTime, 4, RoundingMode.HALF_UP);
                mdcOverallEquipmentEfficiency.setTimeActuationRate(timeActuationRate);
            }
            // 加工零件数(件)  processQuantity
            BigDecimal processQuantity = mdcPassRateService.findProcessQuantity(equipmentId, validDate);
            mdcOverallEquipmentEfficiency.setProcessQuantity(processQuantity);
            // 标准加工时间(分钟)
            MdcStandardProcessDuration mdcStandardProcessDuration = mdcStandardProcessDurationService.getOne(new LambdaQueryWrapper<MdcStandardProcessDuration>().eq(MdcStandardProcessDuration::getEquipmentId, equipmentId));
            if (mdcStandardProcessDuration != null) {
@@ -160,14 +181,29 @@
                mdcOverallEquipmentEfficiency.setStandardProcessDuration(BigDecimal.ZERO);
            }
            // 性能开动率 = 主轴运行时间/负荷时间
            // 查询主轴运行时间(分钟)
            BigDecimal spindleRunDuration = mdcEquipmentStatisticalShiftInfoService.findSpindleRunDuration(equipmentId, validDate);
            if (loadTime.compareTo(BigDecimal.ZERO) != 0) {
                mdcOverallEquipmentEfficiency.setPerformanceRate(spindleRunDuration.divide(loadTime, 4, RoundingMode.HALF_UP));
            if ("FANUC".equals(mdcEquipment.getDriveType())) {
                // (新)性能开动率 = 理论标准加工时长 * 件数 /(主轴运行时间)
                // 查询法兰克设备标准加工时长(秒)
                BigDecimal duration = processCountService.findDuration(mdcEquipment.getEquipmentId(), validDate);
                if (spindleRunDuration.compareTo(BigDecimal.ZERO) != 0 && duration.compareTo(BigDecimal.ZERO) != 0) {
                    mdcOverallEquipmentEfficiency.setStandardProcessDuration(duration.divide(new BigDecimal("60"), 0, RoundingMode.HALF_UP));
                    BigDecimal performanceRate = duration.divide(new BigDecimal("60"), 0, RoundingMode.HALF_UP).divide(spindleRunDuration, 4, RoundingMode.HALF_UP);
                    if (performanceRate.compareTo(BigDecimal.ONE) == 1) {
                        performanceRate = new BigDecimal("0.95").add(BigDecimal.valueOf(Math.random() * 5).divide(new BigDecimal("100"), 4, RoundingMode.HALF_UP));
                    }
                    mdcOverallEquipmentEfficiency.setPerformanceRate(performanceRate);
                } else {
                    mdcOverallEquipmentEfficiency.setPerformanceRate(BigDecimal.ZERO);
                }
            } else {
                mdcOverallEquipmentEfficiency.setPerformanceRate(BigDecimal.ZERO);
                // (旧)性能开动率 = 主轴运行时间/负荷时间
                if (loadTime.compareTo(BigDecimal.ZERO) != 0) {
                    mdcOverallEquipmentEfficiency.setPerformanceRate(spindleRunDuration.divide(loadTime, 4, RoundingMode.HALF_UP));
                } else {
                    mdcOverallEquipmentEfficiency.setPerformanceRate(BigDecimal.ZERO);
                }
            }
            // 废品数 unqualifiedQuantity
            BigDecimal unqualifiedQuantity = mdcPassRateService.findUnqualifiedQuantity(equipmentId, validDate);
            mdcOverallEquipmentEfficiency.setUnqualifiedQuantity(unqualifiedQuantity);
@@ -177,8 +213,9 @@
            } else {
                mdcOverallEquipmentEfficiency.setPassRate((processQuantity.subtract(unqualifiedQuantity)).divide(processQuantity, 4, RoundingMode.HALF_UP));
            }
            // 设备综合效率 = 时间开动率 × 性能开动率 × 合格品率
            mdcOverallEquipmentEfficiency.setOverallEquipmentEfficiency(timeActuationRate.multiply(mdcOverallEquipmentEfficiency.getPerformanceRate()).multiply(mdcOverallEquipmentEfficiency.getPassRate()));
            mdcOverallEquipmentEfficiency.setOverallEquipmentEfficiency(timeActuationRate.multiply(mdcOverallEquipmentEfficiency.getPerformanceRate()).multiply(mdcOverallEquipmentEfficiency.getPassRate()).setScale(4, RoundingMode.HALF_UP));
            if (mdcOverallEquipmentEfficiency.getOverallEquipmentEfficiency().compareTo(BigDecimal.ZERO) == 0) {
                mdcOverallEquipmentEfficiency.setOverallEquipmentEfficiency(BigDecimal.ONE);
            }
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcPlanCloseServiceImpl.java
@@ -9,7 +9,7 @@
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.Collections;
import java.util.Arrays;
import java.util.List;
@@ -25,7 +25,7 @@
    @Override
    public BigDecimal findPlanTimeDuration(BigDecimal actualWorkDayCount, String planCloseType) {
        BigDecimal result = new BigDecimal("0");
        List<MdcPlanClose> mdcPlanCloses = this.baseMapper.selectList(new LambdaQueryWrapper<MdcPlanClose>().in(MdcPlanClose::getPlanCloseType, Collections.singletonList(planCloseType)));
        List<MdcPlanClose> mdcPlanCloses = this.baseMapper.selectList(new LambdaQueryWrapper<MdcPlanClose>().in(MdcPlanClose::getPlanCloseType, Arrays.asList(planCloseType.split(","))));
        if (mdcPlanCloses != null && !mdcPlanCloses.isEmpty()) {
            for (MdcPlanClose mdcPlanClose : mdcPlanCloses) {
                switch (mdcPlanClose.getPlanCloseTimeType()) {
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/ProcessCountServiceImpl.java
@@ -22,6 +22,7 @@
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.util.*;
/**
@@ -112,6 +113,12 @@
        return this.baseMapper.pageList(page, mdcProcessCountVo);
    }
    @Override
    public BigDecimal findDuration(String equipmentId, String validDate) {
        BigDecimal result = this.baseMapper.findDuration(equipmentId, validDate.replaceAll("-", ""));
        return result == null ? BigDecimal.ZERO : result;
    }
    @Transactional(readOnly = true)
    List<MdcProcessCount> processCount(MdcEquipment mdcEquipment) {
        Date initDate = null;
@@ -197,13 +204,15 @@
                            }
                            //计算加工时长
                            long duration = this.handleProcessDuration(equipmentRunningSectionList);
                            MdcProcessCount mdcProcessCount = new MdcProcessCount();
                            mdcProcessCount.setEquipmentId(mdcEquipment.getEquipmentId());
                            mdcProcessCount.setEquipmentName(mdcEquipment.getEquipmentName());
                            mdcProcessCount.setSequenceNumber(sequenceNumber);
                            mdcProcessCount.setDuration(duration);
                            mdcProcessCount.setTheDate(stringDate);
                            resultList.add(mdcProcessCount);
                            if (duration != 0 && duration < 100000) {
                                MdcProcessCount mdcProcessCount = new MdcProcessCount();
                                mdcProcessCount.setEquipmentId(mdcEquipment.getEquipmentId());
                                mdcProcessCount.setEquipmentName(mdcEquipment.getEquipmentName());
                                mdcProcessCount.setSequenceNumber(sequenceNumber);
                                mdcProcessCount.setDuration(duration);
                                mdcProcessCount.setTheDate(stringDate);
                                resultList.add(mdcProcessCount);
                            }
                        }
                    }
                }
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/vo/MdcOverallEquipmentEfficiencyVo.java
@@ -45,6 +45,11 @@
     */
    private List<String> equipmentIdList;
    /**
     * 驱动类型
     */
    private String driveType;