| | |
| | | package org.jeecg.modules.eam.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import org.jeecg.common.constant.CommonConstant; |
| | | import org.jeecg.common.exception.JeecgBootException; |
| | | import org.jeecg.modules.eam.constant.HfTemplateCategoryEnum; |
| | | import org.jeecg.modules.eam.entity.EamBaseHFCode; |
| | | import org.jeecg.modules.eam.entity.EamEquipment; |
| | | import org.jeecg.modules.eam.entity.EamThirdMaintenanceWorkPlanSheet; |
| | | import org.jeecg.modules.eam.mapper.EamThirdMaintenanceWorkPlanSheetMapper; |
| | | import org.jeecg.modules.eam.service.IEamBaseHFCodeService; |
| | |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @Description: “三级保养工作计划单 |
| | |
| | | private IEamBaseHFCodeService hfCodeService; |
| | | |
| | | /** |
| | | * 通过设备编号,保养日期查询 |
| | | * @param equipmentCode,maintenanceDate |
| | | * @return |
| | | */ |
| | | @Override |
| | | public EamThirdMaintenanceWorkPlanSheet getByEquipmentCodeAndMaintenanceDate(String equipmentCode, java.util.Date maintenanceDate){ |
| | | List<EamThirdMaintenanceWorkPlanSheet> list = this.baseMapper.selectList(new QueryWrapper<EamThirdMaintenanceWorkPlanSheet>() |
| | | .eq("equipment_code",equipmentCode).eq("maintenance_date",maintenanceDate)); |
| | | if(list == null || list.isEmpty()) { |
| | | return null; |
| | | }else { |
| | | return list.get(0); |
| | | } |
| | | } |
| | | /** |
| | | * 新增 |
| | | * @param eamThirdMaintenanceWorkPlanSheet |
| | | * @return |
| | |
| | | throw new JeecgBootException("未配置三级保养工作计划单的HF编码,添加失败!"); |
| | | } |
| | | eamThirdMaintenanceWorkPlanSheet.setHfCode(eamBaseHFCode.getHfCode()); |
| | | eamThirdMaintenanceWorkPlanSheet.setDelFlag(0); |
| | | return super.save(eamThirdMaintenanceWorkPlanSheet); |
| | | } |
| | | |
| | | /** |
| | | * existsByEquipmentAndDate |
| | | * @param equipmentCode |
| | | * @param maintenanceDate |
| | | * @return |
| | | */ |
| | | @Override |
| | | public boolean existsByEquipmentAndDate(String equipmentCode, Date maintenanceDate){ |
| | | List<EamThirdMaintenanceWorkPlanSheet> list = this.baseMapper.selectList(new QueryWrapper<EamThirdMaintenanceWorkPlanSheet>() |
| | | .eq("equipment_code",equipmentCode).eq("maintenance_date",maintenanceDate)); |
| | | return list != null && !list.isEmpty(); |
| | | } |
| | | |
| | | /** |
| | | * 处理保养日期变更(增删改查) |
| | | */ |
| | | @Override |
| | | public void processMaintenanceDateChange(EamEquipment equipment, Date oldDate, Date newDate) { |
| | | String equipmentCode = equipment.getEquipmentCode(); |
| | | //日期从有值变为null → 删除计划 |
| | | if (oldDate != null && newDate == null) { |
| | | deleteMaintenancePlan(equipmentCode, oldDate); |
| | | } |
| | | //日期从null变为有值 → 新增计划 |
| | | else if (oldDate == null && newDate != null) { |
| | | createMaintenancePlan(equipment, newDate); |
| | | } |
| | | //日期值发生变化 → 更新计划日期 |
| | | else if (oldDate != null && !oldDate.equals(newDate)) { |
| | | updateMaintenancePlanDate(equipmentCode, oldDate, newDate,equipment); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 创建保养计划 |
| | | */ |
| | | @Override |
| | | public void createMaintenancePlan(EamEquipment equipment, Date maintenanceDate) { |
| | | if (maintenanceDate == null) return; |
| | | // 避免重复创建 |
| | | if (this.existsByEquipmentAndDate( |
| | | equipment.getEquipmentCode(), maintenanceDate)) { |
| | | return; |
| | | } |
| | | EamThirdMaintenanceWorkPlanSheet plan = new EamThirdMaintenanceWorkPlanSheet(); |
| | | plan.setEquipmentCode(equipment.getEquipmentCode()); |
| | | plan.setEquipmentName(equipment.getEquipmentName()); |
| | | plan.setFactoryOrgCode(equipment.getFactoryOrgCode()); |
| | | plan.setEquipmentModel(equipment.getEquipmentModel()); |
| | | plan.setMaintenanceDate(maintenanceDate); |
| | | this.add(plan); |
| | | } |
| | | |
| | | /** |
| | | * 更新保养计划日期 |
| | | */ |
| | | private void updateMaintenancePlanDate(String equipmentCode, Date oldDate, Date newDate,EamEquipment equipment) { |
| | | EamThirdMaintenanceWorkPlanSheet plan = this |
| | | .getByEquipmentCodeAndMaintenanceDate(equipmentCode, oldDate); |
| | | |
| | | if (plan != null) { |
| | | plan.setMaintenanceDate(newDate); |
| | | this.updateById(plan); |
| | | }else { |
| | | createMaintenancePlan(equipment, newDate); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 删除保养计划 |
| | | */ |
| | | private void deleteMaintenancePlan(String equipmentCode, Date date) { |
| | | EamThirdMaintenanceWorkPlanSheet plan = this |
| | | .getByEquipmentCodeAndMaintenanceDate(equipmentCode, date); |
| | | |
| | | if (plan != null) { |
| | | this.removeById(plan.getId()); |
| | | } |
| | | } |
| | | } |