Commit c32e8488 by chamberone

fix: 修复文件路径问题

1 parent 972a86ed
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
package com.dituhui.pea.dispatch.service.impl; package com.dituhui.pea.dispatch.service.impl;
import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.FileNotFoundException; import java.io.FileNotFoundException;
import java.io.UncheckedIOException; import java.io.UncheckedIOException;
...@@ -39,6 +40,7 @@ import org.optaplanner.core.config.solver.SolverConfig; ...@@ -39,6 +40,7 @@ import org.optaplanner.core.config.solver.SolverConfig;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.ResourceUtils;
import com.dituhui.pea.dispatch.constraint.VehicleRoutingConstraintProvider; import com.dituhui.pea.dispatch.constraint.VehicleRoutingConstraintProvider;
import com.dituhui.pea.dispatch.pojo.VehicleRoutingSolution; import com.dituhui.pea.dispatch.pojo.VehicleRoutingSolution;
...@@ -98,7 +100,8 @@ public class DispatchServiceImpl implements DispatchService { ...@@ -98,7 +100,8 @@ public class DispatchServiceImpl implements DispatchService {
private static Map<String, Integer> loadCustomerCodeServiceTimeMap() private static Map<String, Integer> loadCustomerCodeServiceTimeMap()
throws UncheckedIOException, FileNotFoundException { throws UncheckedIOException, FileNotFoundException {
List<String> customerServiceTime = IOUtils.readLines(new FileInputStream("data/customerServiceTime.csv"), "utf-8"); List<String> customerServiceTime = IOUtils.readLines(
new FileInputStream(ResourceUtils.getFile("classpath:data/customerServiceTime.csv")), "utf-8");
Map<String, Integer> customerCodeServiceTimeMap = new HashMap<String, Integer>();// code-time Map<String, Integer> customerCodeServiceTimeMap = new HashMap<String, Integer>();// code-time
for (int i = 0; i < customerServiceTime.size(); i++) { for (int i = 0; i < customerServiceTime.size(); i++) {
String line = customerServiceTime.get(i); String line = customerServiceTime.get(i);
...@@ -111,7 +114,7 @@ public class DispatchServiceImpl implements DispatchService { ...@@ -111,7 +114,7 @@ public class DispatchServiceImpl implements DispatchService {
private static Map<String, Map<String, Long>> loadPreferredlocationDistanceMap() private static Map<String, Map<String, Long>> loadPreferredlocationDistanceMap()
throws UncheckedIOException, FileNotFoundException { throws UncheckedIOException, FileNotFoundException {
List<String> technicianCodeLocation = IOUtils List<String> technicianCodeLocation = IOUtils
.readLines(new FileInputStream("data/technicianLocation.csv"), "utf-8"); .readLines(new FileInputStream(ResourceUtils.getFile("classpath:data/technicianLocation.csv")), "utf-8");
Map<String, String> technicianCodeLocationMap = new HashMap<String, String>();// 序号-code Map<String, String> technicianCodeLocationMap = new HashMap<String, String>();// 序号-code
for (int i = 0; i < technicianCodeLocation.size(); i++) { for (int i = 0; i < technicianCodeLocation.size(); i++) {
String line = technicianCodeLocation.get(i); String line = technicianCodeLocation.get(i);
...@@ -120,7 +123,7 @@ public class DispatchServiceImpl implements DispatchService { ...@@ -120,7 +123,7 @@ public class DispatchServiceImpl implements DispatchService {
} }
List<String> customerCodeLocation = IOUtils List<String> customerCodeLocation = IOUtils
.readLines(new FileInputStream("data/customerLocation.csv"), "utf-8"); .readLines(new FileInputStream(ResourceUtils.getFile("classpath:data/customerLocation.csv")), "utf-8");
Map<String, String> customerCodeLocationMap = new HashMap<String, String>();// 序号-code Map<String, String> customerCodeLocationMap = new HashMap<String, String>();// 序号-code
for (int i = 0; i < customerCodeLocation.size(); i++) { for (int i = 0; i < customerCodeLocation.size(); i++) {
String line = customerCodeLocation.get(i); String line = customerCodeLocation.get(i);
...@@ -169,7 +172,7 @@ public class DispatchServiceImpl implements DispatchService { ...@@ -169,7 +172,7 @@ public class DispatchServiceImpl implements DispatchService {
} }
private static Map<String, String> loadCustomerCodeSkillMap() throws UncheckedIOException, FileNotFoundException { private static Map<String, String> loadCustomerCodeSkillMap() throws UncheckedIOException, FileNotFoundException {
List<String> customerSkill = IOUtils.readLines(new FileInputStream("data/customerSkill.csv"), "utf-8"); List<String> customerSkill = IOUtils.readLines(new FileInputStream(ResourceUtils.getFile("classpath:data/customerSkill.csv")), "utf-8");
Map<String, String> customerCodeSkillMap = new HashMap<String, String>();// code-技能 Map<String, String> customerCodeSkillMap = new HashMap<String, String>();// code-技能
for (int i = 0; i < customerSkill.size(); i++) { for (int i = 0; i < customerSkill.size(); i++) {
String line = customerSkill.get(i); String line = customerSkill.get(i);
...@@ -181,7 +184,7 @@ public class DispatchServiceImpl implements DispatchService { ...@@ -181,7 +184,7 @@ public class DispatchServiceImpl implements DispatchService {
private static Map<String, Set<String>> loadTechnicianCodeSkillsMap() private static Map<String, Set<String>> loadTechnicianCodeSkillsMap()
throws UncheckedIOException, FileNotFoundException { throws UncheckedIOException, FileNotFoundException {
List<String> technicianSkills = IOUtils.readLines(new FileInputStream("data/technicianSkills.csv"), "utf-8"); List<String> technicianSkills = IOUtils.readLines(new FileInputStream(ResourceUtils.getFile("classpath:data/technicianSkills.csv")), "utf-8");
Map<String, Set<String>> technicianCodeSkillsMap = new HashMap<String, Set<String>>();// code-技能 Map<String, Set<String>> technicianCodeSkillsMap = new HashMap<String, Set<String>>();// code-技能
for (int i = 0; i < technicianSkills.size(); i++) { for (int i = 0; i < technicianSkills.size(); i++) {
String line = technicianSkills.get(i); String line = technicianSkills.get(i);
...@@ -199,7 +202,7 @@ public class DispatchServiceImpl implements DispatchService { ...@@ -199,7 +202,7 @@ public class DispatchServiceImpl implements DispatchService {
} }
private static Map<Integer, String> loadTechnicianIndex() throws UncheckedIOException, FileNotFoundException { private static Map<Integer, String> loadTechnicianIndex() throws UncheckedIOException, FileNotFoundException {
List<String> technicianIndexlines = IOUtils.readLines(new FileInputStream("data/technicianIndex.csv"), "utf-8"); List<String> technicianIndexlines = IOUtils.readLines(new FileInputStream(ResourceUtils.getFile("classpath:data/technicianIndex.csv")), "utf-8");
Map<Integer, String> technicianIndexMap = new HashMap<Integer, String>();// 序号-code Map<Integer, String> technicianIndexMap = new HashMap<Integer, String>();// 序号-code
for (int i = 0; i < technicianIndexlines.size(); i++) { for (int i = 0; i < technicianIndexlines.size(); i++) {
technicianIndexMap.put(i + 1, technicianIndexlines.get(i)); technicianIndexMap.put(i + 1, technicianIndexlines.get(i));
...@@ -208,7 +211,7 @@ public class DispatchServiceImpl implements DispatchService { ...@@ -208,7 +211,7 @@ public class DispatchServiceImpl implements DispatchService {
} }
private static Map<Integer, String> loadCustomerIndex() throws UncheckedIOException, FileNotFoundException { private static Map<Integer, String> loadCustomerIndex() throws UncheckedIOException, FileNotFoundException {
List<String> customerIndexlines = IOUtils.readLines(new FileInputStream("data/customerIndex.csv"), "utf-8"); List<String> customerIndexlines = IOUtils.readLines(new FileInputStream(ResourceUtils.getFile("classpath:data/customerIndex.csv")), "utf-8");
Map<Integer, String> customerIndexMap = new HashMap<Integer, String>();// 序号-code Map<Integer, String> customerIndexMap = new HashMap<Integer, String>();// 序号-code
for (int i = 0; i < customerIndexlines.size(); i++) { for (int i = 0; i < customerIndexlines.size(); i++) {
customerIndexMap.put(i + 1, customerIndexlines.get(i)); customerIndexMap.put(i + 1, customerIndexlines.get(i));
...@@ -225,7 +228,7 @@ public class DispatchServiceImpl implements DispatchService { ...@@ -225,7 +228,7 @@ public class DispatchServiceImpl implements DispatchService {
Map<String, Integer> customerIndexMap2 = customerIndexMap.entrySet().stream() Map<String, Integer> customerIndexMap2 = customerIndexMap.entrySet().stream()
.collect(Collectors.toMap(Map.Entry::getValue, Map.Entry::getKey)); .collect(Collectors.toMap(Map.Entry::getValue, Map.Entry::getKey));
// 初始化距离矩阵 // 初始化距离矩阵
List<String> pathMatrixlines = IOUtils.readLines(new FileInputStream("data/pathMatrix.csv"), "utf-8"); List<String> pathMatrixlines = IOUtils.readLines(new FileInputStream(ResourceUtils.getFile("classpath:data/pathMatrix.csv")), "utf-8");
long[][] pathMatrix = new long[customerIndexMap.keySet().size() + 1][customerIndexMap.keySet().size() + 1]; long[][] pathMatrix = new long[customerIndexMap.keySet().size() + 1][customerIndexMap.keySet().size() + 1];
for (int i = 0; i < pathMatrixlines.size(); i++) { for (int i = 0; i < pathMatrixlines.size(); i++) {
String line = pathMatrixlines.get(i); String line = pathMatrixlines.get(i);
...@@ -250,7 +253,7 @@ public class DispatchServiceImpl implements DispatchService { ...@@ -250,7 +253,7 @@ public class DispatchServiceImpl implements DispatchService {
// 初始化时间矩阵 // 初始化时间矩阵
// 初始化订单服务窗 // 初始化订单服务窗
List<String> customerWindowslines = IOUtils.readLines(new FileInputStream("data/customerWindows.csv"), "utf-8"); List<String> customerWindowslines = IOUtils.readLines(new FileInputStream(ResourceUtils.getFile("classpath:data/customerWindows.csv")), "utf-8");
Map<Integer, Integer> customerStartMap = new HashMap<Integer, Integer>(); Map<Integer, Integer> customerStartMap = new HashMap<Integer, Integer>();
Map<Integer, Integer> customerEndMap = new HashMap<Integer, Integer>(); Map<Integer, Integer> customerEndMap = new HashMap<Integer, Integer>();
for (int i = 0; i < customerWindowslines.size(); i++) { for (int i = 0; i < customerWindowslines.size(); i++) {
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!