From 0d06048c5d560e301bf17fad476975c8ffffcb56 Mon Sep 17 00:00:00 2001 From: lyh <925863403@qq.com> Date: 星期五, 05 九月 2025 16:07:31 +0800 Subject: [PATCH] 添加三级保养工作计划单生成规则 --- lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceWorkPlanSheetServiceImpl.java | 103 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 103 insertions(+), 0 deletions(-) diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceWorkPlanSheetServiceImpl.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceWorkPlanSheetServiceImpl.java index a5da189..0801543 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceWorkPlanSheetServiceImpl.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceWorkPlanSheetServiceImpl.java @@ -1,8 +1,12 @@ 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; @@ -11,6 +15,9 @@ import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +import java.util.Date; +import java.util.List; /** * @Description: 鈥滀笁绾т繚鍏诲伐浣滆鍒掑崟 @@ -25,6 +32,21 @@ 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 @@ -37,6 +59,87 @@ throw new JeecgBootException("鏈厤缃笁绾т繚鍏诲伐浣滆鍒掑崟鐨凥F缂栫爜锛屾坊鍔犲け璐ワ紒"); } 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(); + //鏃ユ湡浠庢湁鍊煎彉涓簄ull 鈫� 鍒犻櫎璁″垝 + if (oldDate != null && newDate == null) { + deleteMaintenancePlan(equipmentCode, oldDate); + } + //鏃ユ湡浠巒ull鍙樹负鏈夊�� 鈫� 鏂板璁″垝 + 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()); + } + } } -- Gitblit v1.9.3