package org.jeecg.modules.eam.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.ibatis.annotations.Select; import org.jeecg.common.util.DateUtils; import org.jeecg.modules.eam.entity.*; import org.jeecg.modules.eam.mapper.InspectionCycleMapper; import org.jeecg.modules.eam.mapper.PredictiveWorkOrderMapper; import org.jeecg.modules.eam.mapper.SpecialtyMaintenanceOrderMapper; import org.jeecg.modules.eam.service.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.util.Date; import java.util.List; import java.util.Map; @Service public class PredictiveWorkOrderServiceImpl extends ServiceImpl implements IPredictiveWorkOrderService { @Autowired @Lazy private IdentityService sysIdentityService; @Override public IPage pageOrderList(Page page, PredictiveWorkOrder predictiveWorkOrder) { return page.setRecords(baseMapper.pageList(page,predictiveWorkOrder.getNum(),predictiveWorkOrder.getStatus(),predictiveWorkOrder.getEquipmentNum(),predictiveWorkOrder.getEquipmentName())); } // @Autowired // private ISpecialtyMaintenancePlanService specialtyMaintenancePlanService; // // @Autowired // private IMaintenanceCycleService maintenanceCycleService; // // @Autowired // private ISpecialtyMaintenancePlanDetailService specialtyMaintenancePlanDetailService; // // @Autowired // private ISpecialtyMaintenanceOrderDetailService specialtyMaintenanceOrderDetailService; // @Override public boolean add(PredictiveWorkOrder predictiveWorkOrder) { String num = sysIdentityService.getNumByTypeAndLength("PredictiveWorkOrder",4); predictiveWorkOrder.setNum(num); predictiveWorkOrder.setCreateType("2"); return super.save(predictiveWorkOrder); // // Date planStartTime = specialtyMaintenanceOrder.getPlanStartTime(); // String specialtyMaintenancePlanId = specialtyMaintenanceOrder.getSpecialtyMaintenancePlanId(); // SpecialtyMaintenancePlan specialtyMaintenancePlan = specialtyMaintenancePlanService.getById(specialtyMaintenancePlanId); //// String departId = specialtyMaintenancePlan.getDepartId(); // String maintenanceMode = specialtyMaintenancePlan.getMaintenanceMode(); // String maintenanceCycleId = specialtyMaintenancePlan.getMaintenanceCycleId(); // MaintenanceCycle maintenanceCycle = maintenanceCycleService.getById(maintenanceCycleId); // String unit = maintenanceCycle.getUnit(); // BigDecimal effectiveTime = maintenanceCycle.getEffectiveTime(); // // Date date = null; // if("min".equals(unit)){ // date = DateUtils.getMinAfter(planStartTime, effectiveTime.intValue()); // }else if("hour".equals(unit)){ // date = DateUtils.getHourAfter(planStartTime, effectiveTime.intValue()); // }else if("day".equals(unit)){ // date = DateUtils.getDayAfter(planStartTime, effectiveTime.intValue()); // } // // specialtyMaintenanceOrder.setPlanEndTime(date); // specialtyMaintenanceOrder.setCreateType("1");//创建类型(1手动创建,2自动创建) // boolean b = super.save(specialtyMaintenanceOrder); // if(!b){ // return false; // } // List specialtyMaintenancePlanDetails = specialtyMaintenancePlanDetailService.lambdaQuery() // .eq(SpecialtyMaintenancePlanDetail::getSpecialtyMaintenancePlanId, specialtyMaintenancePlanId) // .eq(SpecialtyMaintenancePlanDetail::getDelFlag, 0).list(); // // for (SpecialtyMaintenancePlanDetail specialtyMaintenancePlanDetail : specialtyMaintenancePlanDetails) { // String specialtyMaintenancePlanDetailId = specialtyMaintenancePlanDetail.getId(); // String equipmentId = specialtyMaintenancePlanDetail.getEquipmentId(); // String maintenanceStandardId = specialtyMaintenancePlanDetail.getMaintenanceStandardId(); // // SpecialtyMaintenanceOrderDetail specialtyMaintenanceOrderDetail = null; // List> maintenanceProjectList = this.baseMapper.getMaintenanceProjectList(maintenanceCycleId,maintenanceMode,maintenanceStandardId); // for (Map maintenanceProject : maintenanceProjectList) { // specialtyMaintenanceOrderDetail = new SpecialtyMaintenanceOrderDetail(); // specialtyMaintenanceOrderDetail.setSpecialtyMaintenanceOrderId(specialtyMaintenanceOrder.getId()); // specialtyMaintenanceOrderDetail.setMaintenanceStandardId(maintenanceStandardId); // specialtyMaintenanceOrderDetail.setMaintenanceStandardDetailId((String)maintenanceProject.get("id")); // specialtyMaintenanceOrderDetail.setEquipmentId(equipmentId); // specialtyMaintenanceOrderDetail.setSpecialtyMaintenancePlanDetailId(specialtyMaintenancePlanDetailId); // specialtyMaintenanceOrderDetail.setMaintenanceProjectId((String)maintenanceProject.get("maintenanceProjectId")); // specialtyMaintenanceOrderDetailService.save(specialtyMaintenanceOrderDetail); // } // } } // @Override // @Transactional(rollbackFor = { Exception.class }) // public boolean edit(SpecialtyMaintenanceOrder specialtyMaintenanceOrder) { // // Date planStartTime = specialtyMaintenanceOrder.getPlanStartTime(); // String specialtyMaintenancePlanId = specialtyMaintenanceOrder.getSpecialtyMaintenancePlanId(); // SpecialtyMaintenancePlan specialtyMaintenancePlan = specialtyMaintenancePlanService.getById(specialtyMaintenancePlanId); // String maintenanceMode = specialtyMaintenancePlan.getMaintenanceMode(); // String maintenanceCycleId = specialtyMaintenancePlan.getMaintenanceCycleId(); // MaintenanceCycle maintenanceCycle = maintenanceCycleService.getById(maintenanceCycleId); // String unit = maintenanceCycle.getUnit(); // BigDecimal effectiveTime = maintenanceCycle.getEffectiveTime(); // // Date date = null; // if("min".equals(unit)){ // date = DateUtils.getMinAfter(planStartTime, effectiveTime.intValue()); // }else if("hour".equals(unit)){ // date = DateUtils.getHourAfter(planStartTime, effectiveTime.intValue()); // }else if("day".equals(unit)){ // date = DateUtils.getDayAfter(planStartTime, effectiveTime.intValue()); // } // // specialtyMaintenanceOrder.setPlanEndTime(date); // specialtyMaintenanceOrder.setCreateType("1");//创建类型(1手动创建,2自动创建) // boolean b = super.updateById(specialtyMaintenanceOrder); // if(!b){ // return false; // } // // List specialtyMaintenanceOrderDetails = specialtyMaintenanceOrderDetailService.lambdaQuery().eq(SpecialtyMaintenanceOrderDetail::getSpecialtyMaintenanceOrderId, specialtyMaintenanceOrder.getId()).eq(SpecialtyMaintenanceOrderDetail::getDelFlag, 0).list(); // for (SpecialtyMaintenanceOrderDetail specialtyMaintenanceOrderDetail : specialtyMaintenanceOrderDetails) { // specialtyMaintenanceOrderDetailService.removeById(specialtyMaintenanceOrderDetail); // } // // List specialtyMaintenancePlanDetails = specialtyMaintenancePlanDetailService.lambdaQuery() // .eq(SpecialtyMaintenancePlanDetail::getSpecialtyMaintenancePlanId, specialtyMaintenancePlanId) // .eq(SpecialtyMaintenancePlanDetail::getDelFlag, 0).list(); // // for (SpecialtyMaintenancePlanDetail specialtyMaintenancePlanDetail : specialtyMaintenancePlanDetails) { // String specialtyMaintenancePlanDetailId = specialtyMaintenancePlanDetail.getId(); // String equipmentId = specialtyMaintenancePlanDetail.getEquipmentId(); // String maintenanceStandardId = specialtyMaintenancePlanDetail.getMaintenanceStandardId(); // // SpecialtyMaintenanceOrderDetail specialtyMaintenanceOrderDetail = null; // List> maintenanceProjectList = this.baseMapper.getMaintenanceProjectList(maintenanceCycleId,maintenanceMode,maintenanceStandardId); // for (Map maintenanceProject : maintenanceProjectList) { // specialtyMaintenanceOrderDetail = new SpecialtyMaintenanceOrderDetail(); // specialtyMaintenanceOrderDetail.setSpecialtyMaintenanceOrderId(specialtyMaintenanceOrder.getId()); // specialtyMaintenanceOrderDetail.setMaintenanceStandardId(maintenanceStandardId); // specialtyMaintenanceOrderDetail.setMaintenanceStandardDetailId((String)maintenanceProject.get("id")); // specialtyMaintenanceOrderDetail.setEquipmentId(equipmentId); // specialtyMaintenanceOrderDetail.setSpecialtyMaintenancePlanDetailId(specialtyMaintenancePlanDetailId); // specialtyMaintenanceOrderDetail.setMaintenanceProjectId((String)maintenanceProject.get("maintenanceProjectId")); // specialtyMaintenanceOrderDetailService.save(specialtyMaintenanceOrderDetail); // } // } // // return true; // } @Override public boolean assign(PredictiveWorkOrder predictiveWorkOrder) { predictiveWorkOrder.setStatus("3"); boolean b1 = super.updateById(predictiveWorkOrder); if(!b1){ return false; } return true; } }