Lius
2024-11-04 d603739c0320f355cfc3152865918729fea790de
lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/StatisticalElectricJob.java
@@ -3,7 +3,7 @@
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.constant.CommonConstant;
import org.jeecg.common.system.vo.DictModel;
import org.jeecg.modules.mdc.dto.CurrentElectricHistoryDto;
import org.jeecg.modules.mdc.dto.CurrentElectricDto;
import org.jeecg.modules.mdc.dto.EquipmentMachiningHistoryDto;
import org.jeecg.modules.mdc.dto.MachineXYZHistoryDto;
import org.jeecg.modules.mdc.entity.Equipment;
@@ -54,13 +54,10 @@
    private IEquipmentElectricStatisticalService equipmentElectricStatisticalService;
    @Resource
    private ICurrentXYZHistoryService currentXYZHistoryService;
    private IEquipmentWorkLineService equipmentWorkLineService;
    @Resource
    private IMachineXYZHistoryService machineXYZHistoryService;
    @Resource
    private IEquipmentMachiningHistoryService equipmentMachiningHistoryService;
    private IEquipmentXYZService equipmentXYZService;
    @Override
    public void execute(JobExecutionContext context) throws JobExecutionException {
@@ -81,35 +78,38 @@
                List<DictModel> dictList = sysDictService.queryEnableDictItemsByCode(CommonConstant.AXIS_TYPE);
                if (dictList != null && !dictList.isEmpty()) {
                    for (Equipment equipment : equipmentList) {
                        if (equipment.getDrivetype().equals("SIEMENSOpcUa")) {
                            String saveTableName = equipment.getSavetablename();
                        Date lastDate = equipmentElectricStatisticalService.getMaxDate(equipment.getEquipmentid());
                        if (lastDate == null) {
                            Date minCollectTime = currentXYZHistoryService.getMinDate(equipment.getEquipmentid());
                                Date minCollectTime = equipmentWorkLineService.getMinDate(saveTableName);
                            if (minCollectTime == null) {
                                continue;
                            }
                            initDate = DateUtils.removeTime(minCollectTime);
                            } else {
                                initDate = DateUtils.plusTime(lastDate, 1);
                        }
                        for (DictModel dictModel : dictList) {
                            electricStatistical = new EquipmentElectricStatistical();
                            Integer axisType = Integer.parseInt(dictModel.getValue());
                            CurrentElectricHistoryDto currentElectricHistoryDto = currentXYZHistoryService.getMaxElectric(equipment.getEquipmentid(), axisType, initDate, DateUtils.plusTime(initDate, 1));
                            if (currentElectricHistoryDto == null || currentElectricHistoryDto.getEquipmentID() == null || currentElectricHistoryDto.getCollectTime() == null) {
                                initDate = DateUtils.plusTime(initDate, 1);
                                CurrentElectricDto currentElectricDto = equipmentWorkLineService.getMaxElectric(saveTableName, axisType, initDate, DateUtils.plusTime(initDate, 1));
                                if (currentElectricDto == null) {
                                continue;
                            }
                            electricStatistical.setAxistype(axisType);
                            electricStatistical.setEquipmentid(equipment.getEquipmentid());
                            electricStatistical.setEquipmentname(equipment.getEquipmentname());
                            electricStatistical.setElectrictime(currentElectricHistoryDto.getCollectTime());
                            electricStatistical.setElectricvalue(currentElectricHistoryDto.getCurrentValue());
                                electricStatistical.setElectrictime(currentElectricDto.getCollectTime());
                                electricStatistical.setElectricvalue(currentElectricDto.getCurrentValue());
                            electricStatistical.setCreatedate(initDate);
                            EquipmentMachiningHistoryDto machiningHistoryDto = equipmentMachiningHistoryService.getNearTimeSpindleLoad(equipment.getEquipmentid(), initDate, DateUtils.plusTime(initDate, 1), currentElectricHistoryDto.getCollectTime());
                                EquipmentMachiningHistoryDto machiningHistoryDto = equipmentWorkLineService.getNearTimeSpindleLoad(saveTableName, initDate, DateUtils.plusTime(initDate, 1), currentElectricDto.getCollectTime());
                            if (machiningHistoryDto != null) {
                                electricStatistical.setSpindlespeed(machiningHistoryDto.getSpindleSpeed());
                                electricStatistical.setSpindleload(machiningHistoryDto.getSpindleLoad());
                                electricStatistical.setSpindletime(machiningHistoryDto.getCollectTime());
                            }
                            MachineXYZHistoryDto machineXYZHistoryDto = machineXYZHistoryService.getNearAxisType(equipment.getEquipmentid(), initDate, DateUtils.plusTime(initDate, 1), currentElectricHistoryDto.getCollectTime());
                                MachineXYZHistoryDto machineXYZHistoryDto = equipmentXYZService.getNearAxisType(equipment.getEquipmentid(), initDate, DateUtils.plusTime(initDate, 1), currentElectricDto.getCollectTime());
                            if (machineXYZHistoryDto != null) {
                                electricStatistical.setAxistime(machineXYZHistoryDto.getCollectTime());
                                if (axisType == 1) {
@@ -128,6 +128,7 @@
                        }
                    }
                }
                }
                if(!resultList.isEmpty()) {
                    equipmentElectricStatisticalService.saveBatch(resultList);
                }