Lius
2024-11-04 d603739c0320f355cfc3152865918729fea790de
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/StatisticalSpindleJob.java
@@ -5,10 +5,7 @@
import org.jeecg.modules.mdc.dto.MachineXYZHistoryDto;
import org.jeecg.modules.mdc.entity.Equipment;
import org.jeecg.modules.mdc.entity.EquipmentSpindleStatistical;
import org.jeecg.modules.mdc.service.IEquipmentMachiningHistoryService;
import org.jeecg.modules.mdc.service.IEquipmentService;
import org.jeecg.modules.mdc.service.IEquipmentSpindleStatisticalService;
import org.jeecg.modules.mdc.service.IMachineXYZHistoryService;
import org.jeecg.modules.mdc.service.*;
import org.jeecg.modules.mdc.util.DateUtils;
import org.jeecg.modules.mdc.util.ThrowableUtil;
import org.jeecg.modules.quartz.entity.QuartzJob;
@@ -55,6 +52,12 @@
    @Resource
    private IMachineXYZHistoryService machineXYZHistoryService;
    @Resource
    private IEquipmentWorkLineService equipmentWorkLineService;
    @Resource
    private IEquipmentXYZService equipmentXYZService;
    @Override
    public void execute(JobExecutionContext context) throws JobExecutionException {
        SysQuartzLog quartzLog = new SysQuartzLog();
@@ -72,17 +75,21 @@
                EquipmentSpindleStatistical spindleStatistical;
                List<EquipmentSpindleStatistical> resultList = new ArrayList<>();
                for (Equipment equipment : equipmentList) {
                    if (!equipment.getDrivetype().equals("CurrentState")) {
                        String saveTableName = equipment.getSavetablename();
                    Date lastDate = equipmentSpindleStatisticalService.getMaxDate(equipment.getEquipmentid());
                    if (lastDate == null) {
                        Date minCollectTime = equipmentMachiningHistoryService.getMinDate(equipment.getEquipmentid());
                            Date minCollectTime = equipmentWorkLineService.getMinDate(saveTableName);
                        if (minCollectTime == null) {
                            continue;
                        }
                        initDate = DateUtils.removeTime(minCollectTime);
                        } else {
                            initDate = DateUtils.plusTime(lastDate, 1);
                    }
                    spindleStatistical = new EquipmentSpindleStatistical();
                    EquipmentMachiningHistoryDto machiningHistoryDto = equipmentMachiningHistoryService.getMaxSpindleLoad(equipment.getEquipmentid(), initDate, DateUtils.plusTime(initDate, 1));
                        EquipmentMachiningHistoryDto machiningHistoryDto = equipmentWorkLineService.getMaxSpindleLoad(saveTableName, initDate, DateUtils.plusTime(initDate, 1));
                    if(machiningHistoryDto == null || machiningHistoryDto.getEquipmentID() == null || machiningHistoryDto.getCollectTime() == null) {
                        continue;
                    }
@@ -92,7 +99,7 @@
                    spindleStatistical.setEquipmentname(equipment.getEquipmentname());
                    spindleStatistical.setSpindleload(machiningHistoryDto.getSpindleLoad());
                    spindleStatistical.setSpindletime(machiningHistoryDto.getCollectTime());
                    MachineXYZHistoryDto machineXYZHistoryDto = machineXYZHistoryService.getNearAxisType(equipment.getEquipmentid(), initDate, DateUtils.plusTime(initDate, 1), machiningHistoryDto.getCollectTime());
                        MachineXYZHistoryDto machineXYZHistoryDto = equipmentXYZService.getNearAxisType(equipment.getEquipmentid(), initDate, DateUtils.plusTime(initDate, 1), machiningHistoryDto.getCollectTime());
                    if(machineXYZHistoryDto != null) {
                        spindleStatistical.setAxistime(machineXYZHistoryDto.getCollectTime());
                        spindleStatistical.setAxisx(machineXYZHistoryDto.getXMachine());
@@ -103,6 +110,7 @@
                    }
                    resultList.add(spindleStatistical);
                }
                }
                if (!resultList.isEmpty()) {
                    equipmentSpindleStatisticalService.saveBatch(resultList);
                }