zhangherong
5 天以前 c478333af1883ebb7ba359dc0a1756c2ed2b0927
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/InspectionOrderGenerateJob.java
@@ -1,11 +1,13 @@
package org.jeecg.modules.eam.job;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.util.DateUtils;
import org.jeecg.modules.eam.constant.BusinessCodeConst;
import org.jeecg.modules.eam.constant.MaintenanceCategoryEnum;
import org.jeecg.modules.eam.constant.OrderCreationMethodEnum;
import org.jeecg.modules.eam.entity.EamInspectionOrder;
import org.jeecg.modules.eam.entity.EamInspectionOrderDetail;
import org.jeecg.modules.eam.entity.EamMaintenanceStandard;
import org.jeecg.modules.eam.entity.EamMaintenanceStandardDetail;
@@ -85,13 +87,20 @@
                    standard.setInitialDate(DateUtils.localDateToDate(now.minusDays(1)));
                }
                LocalDate generateDate = DateUtils.dateToLocalDate(standard.getInitialDate());
                //加周期
                do {
                    //初始日期设置的比较早,或任务长时间没执行,必须周期到今天才会生成工单
                    generateDate = generateDate.plusDays(standard.getMaintenancePeriod());
                } while (now.isAfter(generateDate));
                if (!now.isEqual(generateDate)) {
                    //还未到生成日期,跳过执行
                if (!generateDate.equals(now)) {
                    //加周期
                    do {
                        //初始日期设置的比较早,或任务长时间没执行,必须周期到今天才会生成工单
                        generateDate = generateDate.plusDays(standard.getMaintenancePeriod());
                    } while (now.isAfter(generateDate));
                    if (!now.isEqual(generateDate)) {
                        //还未到生成日期,跳过执行
                        continue;
                    }
                }
                //校验生成日期是否已有工单
                List<EamInspectionOrder> list = eamInspectionOrderService.list(new LambdaQueryWrapper<EamInspectionOrder>().eq(EamInspectionOrder::getEquipmentId, standard.getEquipmentId()).eq(EamInspectionOrder::getInspectionDate, DateUtils.localDateToDate(generateDate)));
                if (!CollectionUtil.isEmpty(list)) {
                    continue;
                }
                //获取保养项明细