排产结果复制

parent 69fed90e
...@@ -3,9 +3,11 @@ package com.aps.service.impl; ...@@ -3,9 +3,11 @@ package com.aps.service.impl;
import com.aps.common.util.R; import com.aps.common.util.R;
import com.aps.common.util.SnowFlackIdWorker; import com.aps.common.util.SnowFlackIdWorker;
import com.aps.entity.*; import com.aps.entity.*;
import com.aps.entity.Algorithm.Chromosome;
import com.aps.mapper.RoutingDetailMapper; import com.aps.mapper.RoutingDetailMapper;
import com.aps.mapper.RoutingHeaderMapper; import com.aps.mapper.RoutingHeaderMapper;
import com.aps.service.*; import com.aps.service.*;
import com.aps.service.plan.SceneService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -63,6 +65,9 @@ public class LanuchServiceImpl implements LanuchService { ...@@ -63,6 +65,9 @@ public class LanuchServiceImpl implements LanuchService {
ProdEquipmentService prodEquipmentService; ProdEquipmentService prodEquipmentService;
@Autowired @Autowired
RoutingDetailEquipService routingDetailEquipService; RoutingDetailEquipService routingDetailEquipService;
@Autowired
SceneService sceneService;
/** /**
◦ 生成场景数据 ◦ 生成场景数据
...@@ -161,6 +166,9 @@ public class LanuchServiceImpl implements LanuchService { ...@@ -161,6 +166,9 @@ public class LanuchServiceImpl implements LanuchService {
copyProdOrderProcesses(oldScene.getSceneId(), newSceneId); copyProdOrderProcesses(oldScene.getSceneId(), newSceneId);
copyProdEquipments(oldScene.getSceneId(), newSceneId); copyProdEquipments(oldScene.getSceneId(), newSceneId);
copyProdEquipSpecialCals(oldScene.getSceneId(), newSceneId); copyProdEquipSpecialCals(oldScene.getSceneId(), newSceneId);
// 复制染色体文件(排产结果)
copyChromosomeFile(oldScene.getSceneId(), newSceneId);
log.info("场景数据复制完成,从 {} 到 {}", oldSceneName, newSceneName); log.info("场景数据复制完成,从 {} 到 {}", oldSceneName, newSceneName);
return R.ok("场景数据复制成功"); return R.ok("场景数据复制成功");
...@@ -1027,7 +1035,33 @@ public class LanuchServiceImpl implements LanuchService { ...@@ -1027,7 +1035,33 @@ public class LanuchServiceImpl implements LanuchService {
} }
} }
/**
* 复制染色体文件(排产结果)
*/
private void copyChromosomeFile(String oldSceneId, String newSceneId) {
try {
// 检查源场景是否有染色体文件
if (sceneService.chromosomeFileExists(oldSceneId)) {
// 从源场景加载染色体
Chromosome chromosome = sceneService.loadChromosomeFromFile(oldSceneId);
if (chromosome != null) {
// 保存到新场景
boolean saved = sceneService.saveChromosomeToFile(chromosome, newSceneId);
if (saved) {
log.info("成功复制染色体文件,从场景 {} 到场景 {}", oldSceneId, newSceneId);
} else {
log.warn("复制染色体文件失败,从场景 {} 到场景 {}", oldSceneId, newSceneId);
}
}
} else {
log.info("源场景 {} 没有染色体文件,无需复制", oldSceneId);
}
} catch (Exception e) {
log.error("复制染色体文件时发生异常,从场景 {} 到场景 {}", oldSceneId, newSceneId, e);
}
}
} }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment